Anacronは、cronと同様のタスクスケジューラですが、これはシステムが継続的に稼動している必要はありません。これを使用して、通常はcronによって毎日、毎週、毎月実行するジョブの実行ができます。
Anacronサービスを使用するには、anacronRPMパッケージがインストールされ、anacronサービスが実行されている必要があります。このパッケージがインストールされていることを確認するには、rpm -q anacronコマンドを使用してください。このパッケージがインストールされていることを確認するには、/sbin/service anacron statusコマンドを使用してください。
Anacronタスクの一覧は、設定ファイル/etc/anacrontab中にあります。設定ファイルの各行はタスクに対応し、次の形式をとります。
period delay job-identifier command |
period —コマンドの実行頻度(単位:日)
delay —分単位の遅延時間
job-identifier — ジョブのタイムスタンプファイルの名前であり、Anacronメッセージで使用するタスクの説明。空白以外の任意の文字を使用可能(スラッシュを除く)
command —実行するコマンド
Anacronは各タスクごとに、そのタスクが設定ファイルのperiodフィールドに指定された期間内に実行されたかを確認します。タスクがその期間内に実行されていない場合は、delayフィールドに指定された遅延時間の後、commandフィールドに指定してあるコマンドを実行します。
タスクが完了すると、/var/spool/anacronディレクトリのタイムスタンプファイルに日付が記録されます。時刻ではなく日付のみが使用され、タイムスタンプファイルのファイル名にはjob-identifierの値が使用されます。
SHELLやPATHなどの環境変数は、cron設定ファイルと同様、/etc/anacrontabの先頭に定義が可能です。
デフォルトの設定ファイルは、およそ次のようになっています:
# /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # These entries are useful for a Red Hat Linux system. 1 5 cron.daily run-parts /etc/cron.daily 7 10 cron.weekly run-parts /etc/cron.weekly 30 15 cron.monthly run-parts /etc/cron.monthly |
図 28-1. デフォルトのanacrontab
図28-1の説明のとおり、Red Hat Linuxのanacronを設定することにより、毎日、毎週、毎月のcronタスクを確実に実行することができます。
anacronサービスを起動するには、/sbin/service anacron startコマンドを使用します。サービスを停止するには、/sbin/service anacron stopコマンドを使用します。サービスの起動はブート時に行うことをお勧めします。ブート時に自動的にanacronサービスを起動する方法については、第14章を参照してください。