Cron

cron 作業的時區

  • April 12, 2014

我們有一個執行 CentOS 5.5 的 VDS,它是使用 EDT 時區創建和配置的。我已替換etc/localtime為指向Australia/Melbourne(UTC+10) 時區文件的連結。執行該date命令會顯示正確的日期和時間。

問題是 cron 作業正在執行,就好像伺服器仍在使用 EDT 時區一樣,即使在重新啟動後也是如此。例如,本應在凌晨 1:01 執行的作業在下午 3:01 執行。

我錯過了什麼?

更改時區後,重啟crond服務即可,無需重啟。不知道為什麼您的 cron 仍在使用 EDT 時區,但在您的 cron 行之前插入以下行:

TZ=Australia/Melbourne
* * * * * ...

然後再試一次。

我遇到了同樣的問題 - 在我更改系統的時區後,cron 的日誌條目位於舊時區,即使在重新啟動 crond 之後也是如此。然後我注意到所有日誌條目都關閉了——消息、郵件和任何其他使用 syslog 的程序。

service rsyslog restart

syslog 所做的第一件事是記錄一條消息(自然而然),因此我能夠看到它具有正確的時間戳。為了確定,我重新啟動了 crond,它的日誌條目也是正確的。

引用自:https://serverfault.com/questions/314697