EDTタイムゾーンで作成および構成されたCentOS5.5を実行するVDSがあります。 etc/localtime
をAustralia/Melbourne
(UTC + 10)タイムゾーンファイルを指すリンクに置き換えました。 date
コマンドを実行すると、正しい日付と時刻が表示されます。
問題は、再起動後もサーバーがEDTタイムゾーンを使用しているかのようにcronジョブが実行されていることです。例えば1:01 AMに実行されるべきだったジョブは3:01 PMに実行されました。
私は何を逃しましたか?
タイムゾーンを変更した後、crondサービスを再起動するだけで十分であり、再起動する必要はありません。 cronがまだEDTタイムゾーンを使用している理由はわかりませんが、cron行の前に以下の行を挿入してください。
TZ=Australia/Melbourne
* * * * * ...
そしてさらに試みる。
同じ問題が発生しました。システムのタイムゾーンを変更した後、crondを再起動した後でも、cronのログエントリは古いタイムゾーンにありました。次に、すべてのログエントリがオフになっていることに気付きました-メッセージ、メール、およびsyslogを使用するその他のプログラム。
service rsyslog restart
Syslogが最初に行うことは(当然のことながら)メッセージをログに記録することなので、正しいタイムスタンプを持っていることがわかりました。念のため、crondを再起動しましたが、ログエントリも正しいものでした。