互联网服务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同行回答

houzi105houzi105系统工程师@@@
06 08 * * *  /home/zhangsan/checkout/check.shor06 08 * * *  /usr/bin/sh /home/zhangsan/checkout/check.sh这样试试。显示全部
06 08 * * *  /home/zhangsan/checkout/check.sh
or
06 08 * * *  /usr/bin/sh /home/zhangsan/checkout/check.sh
这样试试。收起
IT咨询服务 · 2011-07-22
浏览841
liu2006liu2006软件开发工程师crc
总共有几十个主机跑这样的脚本,只有一个出了这样的问题显示全部
总共有几十个主机跑这样的脚本,只有一个出了这样的问题收起
互联网服务 · 2011-07-22
浏览804
liu2006liu2006软件开发工程师crc
生成文件定义 命令>/home/zhangsan/checkout/check.txt命令>>/home/zhangsan/checkout/check.txt显示全部
生成文件定义
命令>/home/zhangsan/checkout/check.txt
命令>>/home/zhangsan/checkout/check.txt收起
互联网服务 · 2011-07-22
浏览817
liu2006liu2006软件开发工程师crc
先手动root用户执行确认该脚本没问题,然后用root用户提交crontab,分钟0,小时前面不要加0换成0 16 * * * /路径/check.sh >  /路径/check.log 小时前面去掉0也不行显示全部
先手动root用户执行确认该脚本没问题,然后用root用户提交crontab,分钟0,小时前面不要加0
换成0 16 * * * /路径/check.sh >  /路径/check.log


小时前面去掉0也不行收起
互联网服务 · 2011-07-22
浏览874
liu2006liu2006软件开发工程师crc
手动执行脚本没有问题,手动执行脚本的时间都正确显示全部
手动执行脚本没有问题,手动执行脚本的时间都正确收起
互联网服务 · 2011-07-22
浏览817
liu2006liu2006软件开发工程师crc
$ dateFri Jul 22 15:49:56 BEIST 2011$#crontab -l30 4 * * * /usr/lpp/diagnostics/bin/run_ssa_link_speed 1>/dev/null 2>/dev/null06 08 * * *  sh /home/zhangsan/checkout/check.sh#$ ls -ltotal 40-rw-r--r--   1 root    &n...显示全部
$ date
Fri Jul 22 15:49:56 BEIST 2011
$

#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 Jul 21 21:00 check.txt
-rwxrwxrwx   1 zhangsan    staff          1904 Jul 15 09:06 check.sh
$

                                                      Change Time Zone

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
                                                        [Entry Fields]
* Standard Time ID(only alpahabets)                  [BEIST]
* Standard Time Offset from CUT([+|-]HH:MM:SS)       [-8]
  Day Light Savings Time ID(only alpahabets)         []
  Day Light Savings Time Offset from CUT([+|-]HH:MM: []
  SS)
  Start Daylight Savings Day([Mmm.ww.dd|Jn])         []
  Start Daylight Savings Time(HH:MM:SS)              []
  Stop Daylight Savings Day([Mmm.ww.dd|Jn])          []
  Stop Daylight Savings Time(HH:MM:SS)               []收起
互联网服务 · 2011-07-22
浏览889
whoami_2008whoami_2008副总经理/副总裁乌鲁木齐银行
先手动root用户执行确认该脚本没问题,然后用root用户提交crontab,分钟0,小时前面不要加0换成0 16 * * * /路径/check.sh >  /路径/check.log显示全部
先手动root用户执行确认该脚本没问题,然后用root用户提交crontab,分钟0,小时前面不要加0
换成0 16 * * * /路径/check.sh >  /路径/check.log收起
银行 · 2011-07-22
浏览812
campspiritcampspirit技术经理中科软
crontab命令行贴出来,生成文件的路径怎么定义的。不可能出现这种情况,从没遇到过显示全部
crontab命令行贴出来,生成文件的路径怎么定义的。

不可能出现这种情况,从没遇到过收起
互联网服务 · 2011-07-22
浏览820
liu2006liu2006软件开发工程师crc
crontab应该是按着date的时间执行的吧,不管时区是什么显示全部
crontab应该是按着date的时间执行的吧,不管时区是什么收起
互联网服务 · 2011-07-22
浏览1609
haidapanbohaidapanbo系统工程师中国电力科学研究院
你都不贴出来,谁知道你那里错了。。。显示全部
你都不贴出来,谁知道你那里错了。。。收起
互联网服务 · 2011-07-22
浏览1655

提问者

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

相关问题

问题状态

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