28.2. Anacron

Anacronは、cronと同様のタスクスケジューラですが、これはシステムが継続的に稼動している必要はありません。これを使用して、通常はcronによって毎日、毎週、毎月実行するジョブの実行ができます。

Anacronサービスを使用するには、anacronRPMパッケージがインストールされ、anacronサービスが実行されている必要があります。このパッケージがインストールされていることを確認するには、rpm -q anacronコマンドを使用してください。このパッケージがインストールされていることを確認するには、/sbin/service anacron statusコマンドを使用してください。

28.2.1. Anacronタスクの設定

Anacronタスクの一覧は、設定ファイル/etc/anacrontab中にあります。設定ファイルの各行はタスクに対応し、次の形式をとります。

period   delay   job-identifier  command

Anacronは各タスクごとに、そのタスクが設定ファイルのperiodフィールドに指定された期間内に実行されたかを確認します。タスクがその期間内に実行されていない場合は、delayフィールドに指定された遅延時間の後、commandフィールドに指定してあるコマンドを実行します。

タスクが完了すると、/var/spool/anacronディレクトリのタイムスタンプファイルに日付が記録されます。時刻ではなく日付のみが使用され、タイムスタンプファイルのファイル名にはjob-identifierの値が使用されます。

SHELLPATHなどの環境変数は、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タスクを確実に実行することができます。

28.2.2. サービスの起動と停止

anacronサービスを起動するには、/sbin/service anacron startコマンドを使用します。サービスを停止するには、/sbin/service anacron stopコマンドを使用します。サービスの起動はブート時に行うことをお勧めします。ブート時に自動的にanacronサービスを起動する方法については、第14章を参照してください。