在测试crontab执行脚本的时候,修改了linux的系统时间,crontab不执行了。

  今天在写服务器的perl脚本的时候,在完成一版脚本打算通过crontab来测试一下呢,因为直接执行脚本文件是没有问题的,但是当配置到crontab定期执行时就会出现问题,到了指定的时间了,但是脚本文件没有被执行。

后来通过goole搜索到了原因,因为我在测试的时候是直接修改了linux的系统时间,例如:date -s "2016-05-09 01:29:30“ ,因为我的脚本设置在了凌晨1点30分执行,(30  1  *  *  *  /usr/bin/perl  /www/bin/123.pl  >> /www/bin/123.log)。

所以当我把时间设置好之后,等了半分钟后,脚本也没有执行。

  后来发现在修改过时间后必须手动重启crontab,指令如下:

  

/etc/init.d/crond restart

  只有重启crontab才可以,重启服务器是没有作用的。

还有一个解决办法,也是网上找到的,但是没有试,或许会帮到其他人吧:

设置时区,然后重启crond服务:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
service crond restart
原文地址:https://www.cnblogs.com/jimoer/p/5473870.html