互联网服务crontab执行计划

crontab没有按计划执行

最近发现一个问题:我在crontab里面加了一个定时任务,每天早上8点钟跑一个脚本,生成一个文件,文件里面记录有脚本执行的时间,结果文件的生成时间和文件里面记录的时间比crontab里面设定的执行时间晚了有13个小时。

我已经反复检查crontab设置,没有问题;
检查主机时间也没有问题;
我也做了临时测试,在crontab里面设定一个时间(比主机时间晚一分钟),然后我等脚本执行,还是没有执行;

不知道该从哪里找原因了,各位有没有遇到相似的问题?

这个主机修改过时区,以前是CDT,现在是BEIST-8,修改时区前都是正常的,可能和修改时区有关,

当天时间
#date
Wed Aug  3 11:19:12 BEIST 2011

crontab内容
#crontab -l
30 4 * * * /usr/lpp/diagnostics/bin/run_ssa_link_speed 1>/dev/null 2>/dev/null
06 08 * * *  sh /home/zhangsan/checkout/check.sh


生成文件时间
$ ls -l
total 40
-rw-r--r--   1 root     system        15667 Aug 2 21:00 check.txt
-rwxrwxrwx   1 zhangsan    staff          1904 Jul 15 09:06 check.sh

每天早上8点钟跑的脚本(见下面的cron日志),(脚本手工运行正常,几秒钟就生成文件),放在crontab中执行生成的文件时间是当天晚上9点钟的(见上面一段生成文件时间)

crontab 日志
执行用户为root
#tail -n 1000 /var/adm/cron/log |more
root      : CMD (  sh /home/zhangsan/checkout/check.sh ) : PID ( 344186 ) : Tue Aug  2 08:00:00 2011
root      : CMD ( /usr/lpp/diagnostics/bin/run_ssa_healthcheck 1>/dev/null 2>/dev/null ) : PID ( 241734 ) : Tue Aug  2 08:00:
00 2011
Cron Job with pid: 241734 Successful
Cron Job with pid: 344186 Successful
.
.
.
root      : CMD (  sh /home/zhangsan/checkout/check.sh ) : PID ( 344186 ) : Tue Aug  2 08:00:00 2011(生成的文件时间是Aug  3 21:00:00)
root      : CMD ( /usr/lpp/diagnostics/bin/run_ssa_healthcheck 1>/dev/null 2>/dev/null ) : PID ( 241734 ) : Tue Aug  2 08:00:
00 2011
Cron Job with pid: 241734 Successful
Cron Job with pid: 344186 Successful

mail中没有相关日志
参与59

58同行回答

adyleeadylee系统工程师TC
這看來應該是時區的問題, 也就是系統已改了時區, 但你 root 的 .profile 或 /etc/profile 等等登入時的環境變數中有設定舊的時區. 所以顯示才會有問題.显示全部
這看來應該是時區的問題, 也就是系統已改了時區, 但你 root 的 .profile 或 /etc/profile 等等登入時的環境變數中有設定舊的時區. 所以顯示才會有問題.收起
互联网服务 · 2011-08-04
浏览759
liu2006liu2006软件开发工程师crc
这个主机修改过时区,以前是CDT,现在是BEIST-8,修改时区前都是正常的,可能和修改时区有关,显示全部
这个主机修改过时区,以前是CDT,现在是BEIST-8,修改时区前都是正常的,可能和修改时区有关,收起
互联网服务 · 2011-08-03
浏览781
liu2006liu2006软件开发工程师crc
你把你的crontab里面的指令直接复制出来看能不能执行成功,也许是你crontab -e编辑的时候指令有问题,比如有空格之类的复制出来执行时没有问题的显示全部
你把你的crontab里面的指令直接复制出来看能不能执行成功,也许是你crontab -e编辑的时候指令有问题,比如有空格之类的

复制出来执行时没有问题的收起
互联网服务 · 2011-08-03
浏览771
adyleeadylee系统工程师TC
因 cron log 內有顯示該 shell 有在該時間點執行成功, 那有可能是該 shell 執行時有一些 shell 內部的問題.如環境變數等等, 請改一下, 將 stdout 及 errout 導出, 再確認是否可看到進一步的問題點....06 08 * * *  sh /home/zhangsan/checkout/check.sh 1>/ho...显示全部
因 cron log 內有顯示該 shell 有在該時間點執行成功, 那有可能是該 shell 執行時有一些 shell 內部的問題.
如環境變數等等, 請改一下, 將 stdout 及 errout 導出, 再確認是否可看到進一步的問題點....
06 08 * * *  sh /home/zhangsan/checkout/check.sh 1>/home/zhangsan/checkout/check.std.log 2>/home/zhangsan/checkout/check.err.log
<以上是連續的一行在 crontab 內, 取代你目前的內容.>收起
互联网服务 · 2011-08-03
浏览934
linxylzlinxylz软件开发工程师国信
这个问题,我以前好像遇到过,检查下环境变量,最好在脚本里面带环境变量,cron调用和手工执行时候,环境变量不一致,可能导致这类问题~~~显示全部
这个问题,我以前好像遇到过,检查下环境变量,最好在脚本里面带环境变量,cron调用和手工执行时候,环境变量不一致,可能导致这类问题~~~收起
互联网服务 · 2011-08-02
浏览788
lzj65166lzj65166软件开发工程师北京九合尚品科技有限公司
看一下你的crontab里的日志和mail信息,根据详细的信息来排查问题,我原来碰到过,感觉我那个问题是记录太多,清了一条就好了。显示全部
看一下你的crontab里的日志和mail信息,根据详细的信息来排查问题,我原来碰到过,感觉我那个问题是记录太多,清了一条就好了。收起
互联网服务 · 2011-08-02
浏览825
saigon8722saigon8722软件开发工程师文思
你把你的crontab里面的指令直接复制出来看能不能执行成功,也许是你crontab -e编辑的时候指令有问题,比如有空格之类的显示全部
你把你的crontab里面的指令直接复制出来看能不能执行成功,也许是你crontab -e编辑的时候指令有问题,比如有空格之类的收起
互联网服务 · 2011-08-02
浏览812
liu2006liu2006软件开发工程师crc
郁闷了,问题出在哪里呢显示全部
郁闷了,问题出在哪里呢收起
互联网服务 · 2011-08-02
浏览823
liu2006liu2006软件开发工程师crc
都成功执行了的,执行时间也正确,是8:00执行的显示全部
都成功执行了的,执行时间也正确,是8:00执行的收起
互联网服务 · 2011-08-02
浏览774
liu2006liu2006软件开发工程师crc
OK,去看一下/var/adm/cron/log显示全部
OK,去看一下/var/adm/cron/log收起
互联网服务 · 2011-08-02
浏览786

提问者

liu2006
软件开发工程师crc
擅长领域: 服务器存储信息集成平台

相关问题

问题状态

  • 发布时间:2011-07-22
  • 关注会员:1 人
  • 问题浏览:36081
  • 最近回答:2011-08-10
  • X社区推广