由 chliang » 週五 3月 30, 2007 3:58 pm
自問自答一下,因為情況又有些改變了。
當初會發現這個問題,是因為我設定在cron中的時間是
30 5-23/6 * * * ...
所以預定每5:30, 11:30, 17:30, 23:30 該執行一次,
但一天過後卻發現執行的是間是在1:30, 7:30, ...,
才發覺這個異常狀況,1:30 - 8 + 24 = 17:30,
而這正是在/var/log/syslog中記錄的執行時間,所以事情確實真的有發生。
但在找不到解決辦法的情況下,剛用一個小指令又試了一次,結果大出意外,
cron這次居然按照localtime來執行了!以下是在crontab中的片段:
10 15 * * * echo "run at 1510.\n"; date >> /tmp/crontest
10 7 * * * echo "run at 0710.\n"; date >> /tmp/crontest
這是/var/log/syslog中的內容
Mar 30 07:10:02 amsrv /USR/SBIN/CRON[1421]: (chliang) CMD (echo "run at 1510.\n"; date >> /tmp/crontest)
這是/tmp/crontest中的內容:
/var/log# cat /tmp/crontest
五 3月 30 15:10:02 CST 2007
而這中間的過程裡,我覺得唯一可能的異動,是我手動安裝並執行了
ntpupdate這個程式,看來可能之前我確實仍有些什麼地方沒有設定完全,
而後來被ntpupdate給補足了(?)。
所以目前crontab已經可以依localtime來工作,只有syslog仍然以GMT (UTC) 時間來記錄,
不過這已經是比較次要的問題了。