Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.2. Anacron を使用した繰り返しの非同期ジョブのスケジュール設定

Anacron は、cron と同様に、タスク (別名ジョブ) の定期的な実行をスケジュールするためのサービスです。ただし anacron は、2 つの点で cron と異なります。
  • 予定した時間にシステムが稼働していなかった場合、anacron のジョブはシステムが稼働するまで延期されます。
  • anacron のジョブは、最大で 1 日 1 回実行することができます。
ユーザーは、anacron テーブルファイル (anacrontab ファイルとも呼ばれます) に anacron ジョブを指定します。その後、これらのファイルは crond サービスが読み取り、ジョブを実行します。

23.2.1. Anacrob ジョブの前提条件

anacron ジョブのスケジュール設定を行う前に、以下を行います。
  1. cronie-anacron パッケージがすでにインストールされていることを確認します。
    ~]# rpm -q cronie-anacron
    cronie-anacron は、cronie パッケージのサブパッケージなので、すでにインストールされている可能性があります。インストールされていない場合は、以下のコマンドを使用します。
    ~]# yum install cronie-anacron
  2. crond サービスはインストール時に有効になっており、ブート時に自動的に開始するよう設定されています。サービスを無効にしている場合は有効にしてください。
    ~]# systemctl enable crond.service
  3. 現在のセッションで crond サービスを開始します。
    ~]# systemctl start crond.service
  4. (オプション) anacron を設定します。たとえば、以下を変更できます。
    • ジョブの実行時に使用するシェル
    • PATH 環境変数
    • ジョブが E メールを送信する場合はメールアドレス
    anacron の設定は、man ページの anacrontab(5) を参照してください。

23.2.2. Anacron ジョブのスケジュール設定

root ユーザーとして anacron ジョブのスケジュール設定

root ユーザーは、/etc/anacrontab にある anacron テーブルを使用します。root としてジョブをスケジュール設定するときは、以下の手順を使用します。

手順23.1 root ユーザーとして anacron ジョブのスケジュール設定

  1. 選択:
    • ジョブを実行する頻度。たとえば、毎日を指定する場合は 1、3 日に 1 回を指定する場合は 3 を使用します。
    • ジョブ実行の遅延。たとえば、遅延なしを指定する場合は 0、1 時間の遅延を指定する場合は 60 を使用します。
    • ジョブ識別子。ロギングに使用されます。たとえば、my.anacron.job 行にジョブをロギングするには、my.anacron.job を使用します。
    • 実行するコマンド。たとえば、/usr/local/bin/my-script.sh を使用します。
    選択した値をジョブ指定に組み合せます。以下は指定の例です。
    3 60 cron.daily /usr/local/bin/my-script.sh
  2. 完成した行を /etc/anacrontab に追加します。
これでジョブはスケジュールされたとおりに実行されます。
簡単なジョブの例は、/etc/anacrontab ファイルを参照してください。ジョブの指定方法に関する詳細は、man ページの anacrontab(5) を参照してください。

ジョブの時間、日、週、月ごとのスケジュール設定

ジョブは、anacron を使用して日、週、月ごとにスケジュールを設定できます。詳細は 「ジョブの時間、日、週、月ごとのスケジュール設定」 を参照してください。