2016-12-15 66 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