請問如何讓crontab與syslog採用台北時間?

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

請問如何讓crontab與syslog採用台北時間?

文章chliang » 週五 3月 30, 2007 1:55 pm

大家好,
小弟近日寫了一個小程式,希望每六個小時執行一次,所以當然就寫進去crontab中了,但等了半天卻發覺沒有在我預訂的時間執行,而是當GMT時間符合crontab中的設定時間時才執行,但我不論系統時間或硬體時間都已經設定為台北時間了,為何還會這樣呢?而且在/var/log/syslog 中記錄的也都是GMT時間,有辦法改為記台北時間嗎?

我已查過的設定:
/etc/localtime link to /usr/share/zoneinfo/Asia/Taipei
/etc/timezone contains "Asia/Taipei"
/etc/default/rcS sets "UTC=no"

還有什麼沒注意到的嗎?
chliang
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週五 3月 30, 2007 1:01 pm

文章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) 時間來記錄,
不過這已經是比較次要的問題了。
chliang
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週五 3月 30, 2007 1:01 pm


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron