ホーム > パッケージ・システム管理 > anacron

anacron: システム起動後に定期的なタスクを実行

anacronは、常にオンになっていない環境(例:ノートパソコン、デスクトップ)で定期的なタスクを実行するように設計されたユーティリティです。システムがオフの間見逃したタスクを、システムが再起動またはウェイクアップしたときに実行することで、タスクの欠落を防ぎます。これは`cron`に似ていますが、システムの稼働時間に依存しない柔軟性を提供します。

概要

anacronは、`/etc/anacrontab`ファイルで定義されたタスクを日次、週次、月次で実行します。システムがオフになっていてタスクの実行時刻を逃した場合、システムが再起動したときにそのタスクを実行して、タスクの欠落を防ぎます。これは、サーバーのように24時間稼働するシステムに適した`cron`とは異なります。

主な特徴

  • システム非稼働時のタスク欠落防止
  • 指定された周期(日/週/月)でタスクを実行
  • ログファイルに基づいて最終実行時間を追跡
  • 主にデスクトップおよびノートパソコン環境で有用

主なオプション

anacronコマンドと共に使用される主なオプションです。

実行制御

設定/情報

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`anacron` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

anacronを使用する一般的な例をいくつか示します。

anacronの手動実行

sudo anacron -s

anacrontabに定義されたすべてのタスクを手動で実行します。システム起動時に自動実行されますが、必要に応じて手動でトリガーできます。

anacrontabファイルの確認

cat /etc/anacrontab

anacronタスクが定義されている設定ファイルを確認します。

デバッグモードでの実行

sudo anacron -d

anacronがどのタスクを実行しているか詳細な情報を確認するために、デバッグモードで実行します。

タスク実行なしでタイムスタンプのみ更新

sudo anacron -u

実際にタスクを実行せずに、anacronが最後にタスクを実行した時間を現在に更新します。これは特定のタスクをスキップしたい場合に便利です。

インストール

anacronは、ほとんどのLinuxディストリビューションで`cronie`または`vixie-cron`パッケージの一部としてデフォルトでインストールされています。もしインストールされていない場合は、次のコマンドを使用してインストールできます。

Debian/Ubuntuベース

sudo apt update && sudo apt install cronie

aptパッケージマネージャーを使用して`cronie`パッケージをインストールします。

RHEL/CentOS/Fedoraベース

sudo dnf install cronie
# または
sudo yum install cronie

dnfまたはyumパッケージマネージャーを使用して`cronie`パッケージをインストールします。

ヒントと注意点

anacron使用時の役立つヒントと注意点です。

主な設定ファイルとディレクトリ

anacronの動作を制御する主なファイルとディレクトリです。

  • /etc/anacrontab: anacronタスクの周期、遅延時間、タスク識別子、および実行するコマンドが定義されたメイン設定ファイルです。
  • /var/spool/anacron/: 各タスクの最終実行時間を記録するタイムスタンプファイルが保存されるディレクトリです。anacronはこのファイルを通じてタスクの欠落を判断します。

cronとの違い

`cron`はシステムが常にオンのときに指定された時間にタスクを実行しますが、`anacron`はシステムがオフになっていてタスクを逃した場合、システム起動後に遅延時間(delay)を経て実行します。そのため、ノートパソコンやデスクトップ環境のようにシステムが常に稼働していない環境により適しています。`anacron`は`cron`と組み合わせて使用でき、`cron`は`anacron`を定期的に実行して見逃したタスクを確認するように設定できます。

anacrontabファイル構成

`anacrontab`ファイルの各行は、`period delay job-identifier command`の形式で構成されます。

  • period: タスクの実行周期(例:1 for daily、7 for weekly、@monthly for monthly)。
  • delay: システム起動後にタスクを実行する前に待機する時間(分)です。システム負荷の軽減に役立ちます。
  • job-identifier: タスクを識別する一意の文字列です。この名前で`/var/spool/anacron/`にタイムスタンプファイルが作成されます。
  • command: 実際に実行されるシェルコマンドです。

同じカテゴリのコマンド