サービス名
アナクロン
クロン対アナクロン
cron サービスと同様に、anacron サービスは特定の日時にアプリケーションまたはスクリプトを実行します。これにより、信頼性の高い無人システム操作が可能になります。システムがダウンしても、スケジュールされたイベントは見逃されません。代わりに、スケジュールされた時間の後にできるだけ早く実行されます。 anacron アクションの候補は、遅くても実行する必要があるログ ローテーションなどのシステム管理アクティビティであることがよくあります。
cron サービスとは異なり、anacron は、システムの電源がオフになっていても、スケジュールされたジョブの実行を見逃すことはありません。このアクティビティは、システムが次に利用可能になったときに実行されます。これにより、anacron は、バックアップやディスク領域の回復などの重要なシステム管理タスクを開始するための推奨される選択肢になります。
仕事は通常、日次、週次、月次の 3 つのクラスに分けられます。制御スクリプトは通常のシェル コマンド ラインであり、/etc/cron.[class] ディレクトリに配置されます。 Anacron は、スケジュールされた間隔で各ジョブが確実に実行されるようにします。これらのジョブが実行される特定の時間は保証されていません。ジョブが実行されるたびに、タイムスタンプ ファイル /var/spool/anacron/cron.[class] が更新されます。このタイムスタンプ ファイルは、ジョブを実行する必要があるかどうかを判断するために anacron が使用するのと同じメカニズムでもあります。
サービス コントロール
今後の再起動およびシャットダウン時に anacron サービスを管理するには、chkconfig ツールを使用します。
# chkconfig anacron on
# chkconfig --list anacron anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig anacron off
anacron サービスをすぐに制御するには、service コマンドを使用します:
# service anacron Usage: /etc/init.d/anacron {start|stop|restart|condrestart|status}
次の表では、使用可能な各コマンドについて説明します:
コマンド | 説明 |
---|---|
開始 | anacron(8) デーモンを起動し、「-s」コマンドライン スイッチを指定します。これにより、anacron(8) は、すべてのスケジュールされたアプリケーションとスクリプトを並行して開始するのではなく、順次実行するようになります。 |
停止 | anacron(8) デーモンを終了します。アクティブなアプリケーションやスクリプトは影響を受けず、完了するまで引き続き実行されます。 |
再起動 | 停止コマンドとその後の開始コマンドに相当。 |
condrestart | anacron サービスが現在実行されていない場合は無視されます。それ以外の場合は 再起動 コマンドと同等です。通常、意図しないサービスの開始を避けるために RPM アップグレードで使用されます。 |
ステータス | デーモンがスケジュールされたアプリケーションまたはスクリプトをアクティブに実行していない限り、「anacron is stopped」と表示されます。 |
anacron が実行されているかどうかを確認する方法
status コマンドの非標準の動作を使用して、最後のシステム ブート以降に anacron が実行されたかどうかを判断できないことに注意してください。代わりに、/var/spool/anacron 内のファイルのタイムスタンプを使用してください ディレクトリ。これらのファイルは、対応するイベントが発生したときに処理されます:
# ls -lrt /var/spool/anacron total 12 -rw-------. 1 root root 9 Jul 27 03:12 cron.monthly -rw-------. 1 root root 9 Aug 18 03:10 cron.weekly -rw-------. 1 root root 9 Aug 18 04:09 cron.daily
上記の出力は、anacron の最後の月次イベントが 7 月 27 日の 03:12 に発生したことを示しています。
サービス構成
anacron サービスとそのデーモンおよび関連する制御ファイルを取得するには、anacron パッケージをインストールします。
# yum install cronie-anacron.x86_64
anacron が認識するイベントは、/etc/anacrontab で定義されています ファイル。デフォルトのファイルを以下に示します:
# cat /etc/anacrontab SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # Events are defined below 1 65 cron.daily run-parts /etc/cron.daily 7 70 cron.weekly run-parts /etc/cron.weekly 30 75 cron.monthly run-parts /etc/cron.monthly
構文 VAR=VALUE を含む行は、イベントの発生時に実行されるスクリプトとアプリケーションに渡されるシェル環境に値を割り当てます。各 anacron デーモンには、固定イベントはありません。代わりに、イベントは /etc/anacrontab ファイルで明示的に定義されます。デフォルトでは、イベントは 1 日、7 日、30 日ごとに定義されます。イベント定義の形式は次のとおりです:
[days] [delay] [job_id] [command] [[arg] ...]
ここでは、
日 :[コマンド] を実行する頻度を日単位で定義します。
遅延 :[コマンド] が呼び出されるまでのイベント日の分数。
job_id :ログ ファイル内の anacron ジョブを識別し、/var/spool/anacron に作成されたタイムスタンプ ファイルに名前を付けるために使用されます