http://aikotobaha.blogspot.jp/2011/02/rhel6-7cronanacron.html
anacronについて
crondをサポートするような機能。
crondは起動すると一分おきにcrontabを見に行って、起動条件に合致するものがあればそれを実行する。しかし、crondが起動していない時間は無視されてしまう。
例えば、毎日 23:00 にあるバッチを起動しているとする。何かの理由で 22:55〜23:05の間、サーバをメンテナンス等で止めたとする。
この場合、当然ながらバッチは起動されない。これはこれで正しい動作なのだが、それでは困る場合にanacronへ設定を入れておくことでシステム起動後にバッチを遅延起動させる事ができる。
設定の書き方
1 65 cron.daily run-parts /etc/cron.daily
- 1カラム目
何日おきに実行するか?
- 2カラム目
1カラム目で指定された期間実行されていなかった事を検知した場合、次に処理を実行する場合の遅延時間
- 3カラム目
識別子 /var/spool/anacron 以下のこの名前のファイルが作成される。anacronは処理を実行するとこのファイルに実行された日付を書き込む
- 4カラム目
実行する処理
run-parts
run-parts
は指定したディレクトリにある実行可能なファイルを実行するコマンドだが、実行権限やファイル名によっては実行されないので注意。
実行されるかどうかは
run-parts --test /etc/cron.daily
または
run-parts --list /etc/cron.daily
で確認できる。
CentOS5とCentOS6 の cron の動きの違い
RHEL5まではcron.{daily|weekly|monthly} 以下の実行スクリプトは、crontabにて指定された時間に実行されていたが、RHEL6からは全てanacron配下に置かれている。
そのほか、RHEL5でanacronは個別のサービスとして登録されていたが、RHEL6ではcronによって制御されている
[通知用URL]
Tweet
最終更新時間:2019年12月03日 19時31分16秒