2016-12-15 52 views
0

我有一个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="[email protected]" 

#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点,晚上要踢。

但是,相反,我得到了3封电子邮件,在昨天下午5日下午5:01,下午5点16分,下午5时31分


我想

它的时间错的系统或虚拟机,所以我检查了它,我看到了UTC时间。

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

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


问题

有一些服务,我需要重新启动?

或者

这是不是其他的crontab设置,migth具有覆盖我的当前设置?

如何进一步调试?


我打开此时的任何建议。

任何提示/建议/对此的帮助将非常感谢!

回答

2

我相信你必须在做出时间/时区相关更改后重新启动cron。

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

+0

欢迎来到StackOverflow。你的答案会更详细:比如为什么时区需要重启cron或者一些有用的命令? – goto

+0

谢谢@goto。我添加了一种可能的方式来重新启动cron。 – negacao