で 前の記事 特定の時間にタスクを自動的に実行するシステム プログラムである cron について説明しました。 ここで、Anacron を使用してタスクを自動化する方法を説明します。 Anacron を使用すると、Cron の弱点の 1 つを克服できます。タスクが実行されるはずの時間にコンピュータの電源がオフになっている場合、次の時期になってコンピュータの電源がオンになるまでタスクは再度実行されません。
アナクロンの場合、 コンピュータを再びオンにすると、保留中になっていたタスクが実行されます。
Anacronでタスクを自動化する方法
コンピュータが起動すると、Anacron は特定の命令が最後に実行された時刻と、その命令を実行するように指示された頻度を調べます。 Cron と同様に、ToDo リストは、あまり独創的ではない anacrontab と呼ばれるテキスト ファイルに保存されます。しかし、重要な違いがあります。 この場合、日付は、日、遅延時間(分)、ジョブ ID、および実行するコマンドを設定することによって設定されます。
Anacron は、各タスクが特定の日数内に実行されたかどうかを確認します。その日数は、そのジョブに指定された期間です。実行されていない場合、Anacron は必要な時間だけ待機してから実行します。次に日付を記録します。これは、再度実行する時期の目安となります。
anacron は、名前で、または主要なディストリビューションの cronie パッケージで見つけることができます。
実行するには、次のパラメータを指定する必要があります。
-F: 指定された日付でなくてもタスクは実行されます。
-u: ジョブの日付を現在の日付に変更しますが、ジョブは実行されません。
-s: 前のタスクが終了したら次のタスクが実行されることを示します。
-n: -fyパラメータを使用するようなものです
-NS: -d と一緒に使用すると、エラー メッセージが表示されなくなります。
-t: タスク リストがどこにあるかを Anacron に伝えます。
-T: タスク リストの設定を確認し、必要に応じてエラー メッセージを表示します。
-S タイムスタンプが保存されるディレクトリを指定します。
Anacrontabファイルには以下のパラメータを追加する必要があります。
シェル=/bin/bash: コマンドインタープリターとして Bash を使用することを指定します。
MAILTO = 等号の後に、エラーレポートを送信するメールアドレスを指定します。ただし、デスクトップ ディストリビューションではそうする必要はありません。
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin: これにより、各タスクにルートを追加する必要がなくなります。
Anacrontab タスクの構文は、period delay job id command です。ここで、
期間: 作業を実行する頻度です。これは、期間(日、週、月の場合は @daily、@weekly、または @monthly)として示すことも、数字(日の場合は 1、週の場合は 7、月の場合は 30、任意の日数期間の場合は任意の数字)で示すこともできます。
遅延: 開始するまで待機する時間です。分単位で表されます
ジョブID: 他のタスクと区別するためにタスクに割り当てられた名前です
コマンド: これは、指定された時間に anacron が実行する必要があるコマンドです。
さまざまなタスクを実行するためのディレクトリも作成する必要があります。
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
これにより、毎日、毎週、毎月の実行スクリプトと、最後の anacron 実行のレポートが保存されるディレクトリが作成されます。
これらのフォルダーを使用するように指示するには:
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
ターミナルから設定ファイルを編集します
nano ~/.local/etc/anacrontab
次の行を追加します:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
他の2つの変数を設定できます
START_HOURS_RANGE: ジョブが特定の時間枠内でのみ開始されることを示します。
RANDOM_DELAY: 最大ランダム遅延を設定する
これで、コンピューター上のタスクを自動化するための 2 つの便利なコマンドライン ツールの簡単なレビューは終了です。後の記事では、同じことを可能にするグラフィカル アプリケーションがあることを説明します。