Crontab在错误的时间执行

时间:2016-12-15 14:56:53

标签: linux ubuntu cron centos crontab

我有一个crontab设置如下:

sudo crontab -l -u bheng
#field          allowed values
#          -----          --------------
#          minute         0-59
#          hour           0-23
#          day of month   1-31
#          month          1-12 (or names, see below)
#          day of week    0-7 (0 or 7 is Sun, or use names)
#

# m h  dom mon dow   command
MAILTO="bheng@outlook.com"

#Daily 
01 22 * * * php /home/mysite.com/artisan products:exportdiff --interval="yesterday"
16 22 * * * php /home/mysite.com/artisan images:exportdiff --interval="yesterday"
31 22 * * * php /home/mysite.com/artisan publications:exportdiff  --interval="yesterday"

#Weekly
1  23 * * 7 php /home/mysite.com/artisan publications:exportdiff --interval="last sunday"
16 23 * * 7 php /home/mysite.com/artisan images:exportdiff --interval="last sunday"
31 23 * * 7 php /home/mysite.com/artisan products:exportdiff --interval="last sunday"

如你所见,它假设在晚上10点和11点踢。

但相反,我昨天下午5点,下午5点16分,下午5点16分,下午5点31分收到3封电子邮件

我想

系统或VM的时间错了所以我查看了UTC时间。

然后,我通过运行sudo dpkg-reconfigure tzdata更新它并将其设置为US Easetern时间。

现在,当我运行date命令时,我在美国东部时间正确地得到了Ex.Thu Dec 15 07:56:27 EST 2016

问题

我需要重启一些服务吗?

或者

这是migth的其他crontab设置是否覆盖了我当前的设置?

如何继续进行调试?

我现在正在接受任何建议。

任何提示/建议/帮助都将非常感谢!

1 个答案:

答案 0 :(得分:2)

我认为你必须在进行时间/时区相关的更改后重新启动cron。

根据您的cron版本,您可以使用sudo service cron restart重新启动它。