anacronの仕様 [Debian]
今回、Debian 7 において、anacron の関係する問題が発生し、原因究明のため、anacron の仕様を調べた。得られた情報は、下記の通りである。
なお、基本的な部分は、他のディストリビューションでも同じだと思われる。
1. cron との関係
(1) /etc/crontab との関係
(a) /etc/cron.daily/*
/usr/sbin/anacron が実行できない場合のみ、午前 6:25 に実行される。
(b) /etc/cron.weekly/*
/usr/sbin/anacron が実行できない場合のみ、午前 6:47 に実行される。
(c) /etc/cron.monthly/*
/usr/sbin/anacron が実行できない場合のみ、午前 6:52 に実行される。
(2) /etc/cron.d との関係
/etc/cron.d/anacron で '/etc/init.d/anacron start' が実行される。
2. anacron の特徴
(1) ジョブを実行する条件として、実行間隔(日数)を指定する。
前回の実行から指定日数以上が経過している場合のみ、ジョブを実行する。
(2) ジョブの最小の実行間隔は日次である。
同一のジョブを 1 日に複数回実行することはできない。
(3) 常駐プロセスが存在しない。
ブート時の実行、cron からの定期実行で対応している。
(4) 設定ファイルは /etc/anacrontab である。
3. anacron の設定
/etc/anacrontab に設定を行う。
(1) エントリの第 1 項目に period(日単位での実行間隔) を指定する。
前回の実行からの経過日数の比較に使用する値を指定する。
指定した日数以上経過している場合のみ、指定したコマンドが実行される。
(2) エントリの第 2 項目に delay(分単位で遅延時間) を指定する。
anacron の実行時刻からどれだけ待って実行するかを指定する。
(3) エントリの第 3 項目に job-identifier(ジョブ識別子) を指定する。
anacron でのジョブの識別に使用する識別子を指定する。
この値は、コマンドの実行された日付を保存するファイル名としても使用される。
(/var/spool/anacron/cron 内に当該ファイルが作成される。)
(例) cron{dialy,weekly,monthly}
(4) エントリの第 4 項目に command を指定する。
実行するコマンドを指定する。
4. anacron の実行
(1) ブート時の実行
'/etc/init.d/anacron start' が実行される。
(2) cron(/etc/cron.d/anacron) からの実行
午前 7:30 に '/etc/init.d/anacron start' が実行される。
(補足)
'/etc/init.d/anacron start' では、'/usr/sbin/anacron -s' が実行される。
コメント 0