cronジョブが間違った時間に実行されるのはなぜですか?


10

Ubuntuサーバーで毎日実行するcronjobsセットアップがあります。

例えば。0 4 * * *コマンド

彼らは8時間早く実行していることを除いて実行しています。サーバーを設定するとき、最初はUTC時間に設定されていました。私は走ったsudo dpkg-reconfigure tzdata6時間のUTCの後ろにあるCSTにサーバーを設定します。興味深いことに、私はUTCから8時間遅れているPSTにいますが、サーバーがそれをどのように認識できるかわかりません。

コマンドを実行するとdate、CSTで時間が表示されます。

時間が正しく設定されていない場所があるはずです。これはどこで解決できますか?

回答:


21

タイムゾーンを変更した後、cronを再起動することを覚えていますか?そうでない場合、cronは最初に起動されたときからのタイムゾーンの古い概念をまだ持っている可能性があります。

サーバーのタイムゾーンがこれまでに変更すべきではありません(あるいは、少なくとも、それがあるべき-厳密には必要ではないが、私は通常、タイムゾーンを変更した後、マシンを再起動示唆非常にまれ)、および本保証サーバー上のすべてのプログラムが再開されたことと、変更について知っている:-)


いいえ、再起動しませんでした。私はそれをしました、そしてそれが問題であるかどうか見るのを待ちます(私はそれがそうかもしれないと思う)。
Matt McCormick、2011

cronサービスを再起動した後、tzdataを使用して設定したタイムゾーンと同じ時間に実行されます。ありがとう。
Donny Kurnia 14

1
/ var / log / cronのエントリがcrondを再起動した後でも間違った時間を示していることに気付きました。rsyslogを再起動すると、この問題が修正されました。
zymhan 2015

@WildVelociraptorええ、syslogも再起動するまで古いタイムゾーンデータを使用します(そのため、適切なタイミングで実行されている場合でも、タイムスタンプが間違っています)。実行時間が長く、タイムゾーンデータが変更される前に開始されたものはすべて同様の動作をするため、通常は再起動が必要です。
voretaq7 2015

6

私にとって、hwclockコマンドを実行したときの時間は、コマンドを実行したときの時間とは1時間異なることがわかりました date。これを修正するにはhwclock --systohc、2回同期するwhichを呼び出して、予想された時間にcronjobsを実行します。


私の場合、両方とも同じ時間datehwclock報告しますが、cronは私が期待することをまだ行いません。
unfa 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.