cron-anacronは、crontabに干渉しないからcron-noanacronに入れ替えなくてもいい | クズリーマンのカス備忘録

cron-anacronは、crontabに干渉しないからcron-noanacronに入れ替えなくてもいい

tux logo Linux
スポンサーリンク

環境

  • RHEL9系OS

目的とする対象はcrontab

仕事でcronといえばcrontabを使っています。

目的は以下のとおりです。

  • crontab で指定した日時に、ずれることなくジョブを実行させたい
  • crontab で指定した日時に、OSが落ちていても、OS起動後に勝手にそのジョブが実行されることはない

crontabを時間ぴったりに実行させたい場合、cron-noanacronが必要だと勘違いしていた

昔RHEL7を構築したときに、

CentOS7でcronを指定日時に実行するって記事を見て、

cron-anacronをcron-noanacronに入れ替えていたことがあった。

だが、

crontab の指定日時に対して、cron-anacronは干渉しないらしい。

cron-anacronが担当するのは、

  • cron.daily
  • cron.weekly
  • cron.monthly

のとこだけっぽい。

cron-anacronが入っているRHEL9で、crontabの動きを検証した。

時間ぴったりに動いた。

crontab -ie

でジョブを登録。

時間ぴったりに動いたことを確認した。

ちなみに、登録したジョブは

touch /tmp/tmpfile

みたいなやつで、作成されたファイルのタイムスタンプを見て時間ぴったりに動いたかどうかを判断した。
なので秒単位でのズレは見ていない。(そもそも秒単位での指定はできないけどね。~時~分0秒に起動したかどうかは見てないってこと)

2個のジョブを同時日時に登録しても、時間ぴったりに動いた。

crontab -ie

でジョブを登録。

2個のJOBが時間ぴったりに動いたことを確認した。

ちなみに、登録したジョブは

0 12 * * * touch /tmp/tmpfile
0 12 * * * touch /tmp/tmpfile2

みたいなやつで、作成されたファイルのタイムスタンプを見て時間ぴったりに動いたかどうかを判断した。
なので2つのファイルが作られたタイミングについて、秒単位でのズレは見ていない。

OS停止中に登録したジョブは動かなかった(期待通り)

11:59 に、

0 12 * * * touch /tmp/tmpfile1200

みたいなのをcrontab に登録し、

OSをshutdown 。

12時1分を過ぎた後で、OSを起動。

JOBが動いていないことを確認。

動いていなかった。

コメント

タイトルとURLをコピーしました