web-dev-qa-db-ja.com

cronジョブのタイムゾーン

EDTタイムゾーンで作成および構成されたCentOS5.5を実行するVDSがあります。 etc/localtimeAustralia/Melbourne(UTC + 10)タイムゾーンファイルを指すリンクに置き換えました。 dateコマンドを実行すると、正しい日付と時刻が表示されます。

問題は、再起動後もサーバーがEDTタイムゾーンを使用しているかのようにcronジョブが実行されていることです。例えば1:01 AMに実行されるべきだったジョブは3:01 PMに実行されました。

私は何を逃しましたか?

7
John Gardeniers

タイムゾーンを変更した後、crondサービスを再起動するだけで十分であり、再起動する必要はありません。 cronがまだEDTタイムゾーンを使用している理由はわかりませんが、cron行の前に以下の行を挿入してください。

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

そしてさらに試みる。

3
quanta

同じ問題が発生しました。システムのタイムゾーンを変更した後、crondを再起動した後でも、cronのログエントリは古いタイムゾーンにありました。次に、すべてのログエントリがオフになっていることに気付きました-メッセージ、メール、およびsyslogを使用するその他のプログラム。

service rsyslog restart

Syslogが最初に行うことは(当然のことながら)メッセージをログに記録することなので、正しいタイムスタンプを持っていることがわかりました。念のため、crondを再起動しましたが、ログエントリも正しいものでした。

2
Win Bent