Cronジョブの実行間隔は1時間で、システム時間と完全に一致しません。

Cronジョブの実行間隔は1時間で、システム時間と完全に一致しません。

質問例:

* 9 * * * echo 9
* 10 * * * echo 10

上記は1分ごとにユーザーに電子メールを送信しますが、すべての「9」応答は午前10時 - >午前10時59分に発生し、「10」は午前11時 - >午前11時59分に発生します。

仕事をする

* * * * * /bin/date ; /bin/date -u

予想される(正しい)日時を返します。これはUTCと現地時間(アメリカ/デンバー)の両方に当てはまります。毎分特定の時間に実行するようにこのタスクを変更すると、オフセットが発生します(9:00に実行されるタスクを10:00に実行するように指示するなど)。

これまでデバッグを完了しました。

さて、これは変です。たぶん私のタイムゾーンファイルは少し台無しになったのでしょうか?確認してみよう

diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical

ハードウェアクロックがオフになっているか、ローカル設定(ルートとして実行)と一致しないことを確認しました。

date ; hwclock
Wed Oct 26 10:50:13 MDT 2016
Wed 26 Oct 2016 10:50:14 AM MDT  -0.204171 seconds

1秒のように見えますが、これにより私のcronジョブが予定より1時間長くなることはありません。そうですか?

私も次のことを信じています。

  • 私のタイムゾーンは最近変更されましたか?いいえ
  • タイムゾーンを手動で修正しましたか?はい
  • タイムゾーンの修正後にcronをリセットしましたか?はい
  • クローンサービスは再起動されましたか?はい
  • クローンサービスを再起動しましたか?はい
  • cronが再起動しましたか?100%確信しています。 Cronが再起動しました。

関連する可能性があるその他の情報:

Debian を実行してください。

cat /etc/debian_version
8.6

現在のカーネル

uname -a
Linux BigBox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux

デバッグアップデート:

「hwclock --systohc」を実行すると、動作に顕著な変化はありません。このコマンドを実行して確認してください。

date;hwclock
Wed Oct 26 12:39:09 MDT 2016
Wed 26 Oct 2016 12:39:11 PM MDT  -0.875328 seconds

ファイルが存在しないため、「cat /etc/sysconfig/clock」を実行できません。 /etc/ ツリーで find コマンドを実行して「時計」を探し、その名前のファイルがないことを確認します。

私が知っていることがCRON_TZ変数を設定していることを確認してください。ユーザーレベルまたはルートレベルでは設定されません。 cron echoを使用すると、出力は提供されません。

ベストアンサー1

見てみる価値があるもう1つは、boot-time scriptscronまたは古いシステムcrontabファイルです/etc/crontab。 TZ環境変数は/etc/init.d/cronieまたはに設定できます/lib/systemd/system/crond.service。 Debian が init システムで何を使用しているのか分かりません。

crond毎時間実行しようとすると、次の現象が発生します。

0 */2 * * * /opt/dbms/rainstor/archiving/ama_term

crond奇妙な時にスクリプトを実行します。私はこれが夏時間の混乱に関連していると疑いますが、自分で証明したことはありません。

おすすめ記事