cron と anacron の比較
cron の特徴
- 指定したスケジュール(日時・曜日・時・分の粒度で時間を指定)にジョブを実行する
- 指定した時刻に実行できなかった場合、次回の指定時刻まで待つ必要がある。
- /etc/crontab, /etc/crond 以下のファイル、各ユーザのcrontabファイルなど、様々なジョブの指定方法があり、誰でも設定できる。
- crondプロセスが常駐してジョブを実行する。
anacron の特徴
- 指定したスケジュールにランダムな遅延を挿入してジョブを実行する。
- 指定した時刻に実行できなかった場合、実行できなかったジョブを再実行する機能がある。
- /etc/anacrontab でのみジョブの指定が可能で、rootユーザでしか設定できない。
- デーモンプロセスは存在しない。
両者の使い分け
anacron は、ランダムな遅延を挿入するため、複数のサーバで同時に実行したくない場合に使うと良いと考えられる。例えば、複数のサーバでログを収集し、1つのサーバに集約したり、負荷の高いサービスを複数サーバで提供していたりする場合などである。
しかし、同時に実行しないのが感覚的に気持ち悪かったりするので、基本的には cron で良いような…気がする…。