Ubuntuのcronとanacronの呼び出し関係は何ですか?とを見ながら /etc/anacrontab
私は混乱しました。/etc/cron.daily/0anacron
/etc/crontab
~からhttps://askubuntu.com/a/848638/1471
cron.dailyは毎時間アナクロンを実行します。
"cron.dailyは毎時間anacronを実行します"とはどういう意味ですか?
「cronはcron.dailyを通して毎日anacronを実行します」ですか?ありがとうございます。
答え1
引用したテキストが間違っています。毎日cron.daily
実行されていることがわかりますanacron
(それ以降はテキストが更新された可能性があります)。それがまさにその意味です。
anacron
AskUbuntuの答えにもかかわらず、デーモンではありません。 cronを実行するために毎日(または違いはありませんが、より頻繁に)呼び出す必要がある小さなプログラムです/etc/anacrontab
。
答え2
anacron
マンページ何をすべきか、どのように実行するのかを説明します。インターネット上の無関係なサイトで見つかった情報(もちろんこの回答を含む)ではなく、この情報とシステム上のファイルの内容を信頼する必要があります。
anacronの使命は、システムが適切な時間に実行されていなくても、毎日、毎週、毎月のタスクを定期的に実行することです。動作するためにcronは必要ありませんが、cronジョブが重複するのを防ぐ必要があります。
/etc/anacrontab
何を実行するかを教えてくださいanacron
。デフォルトでは、これは以下のファイルに適切な間隔で定義されているすべてのcronジョブです/etc/cron.{daily,weekly,monthly}
。 anacronが実行されたとき(管理するジョブを実際に実行する必要があるモードで)、ジョブが最後に実行された時期を確認し、ジョブの予想期間と一致する期間の後にのみジョブを実行します。
/etc/cron.{daily,weekly,monthly}/0anacron
anacronがcronのアクションを認識していることを確認してください。 cronが毎日、毎週、毎月のジョブを処理するたびに実行される最初のジョブは、anacronのタイムスタンプを更新し、そのグループが最後に実行されてから経過した時間のカウンタをリセットします。
/etc/cron.d/anacron
そして、/lib/systemd/system/anacron.timer
cronまたはsystemdがインストールされているシステムでanacronを定期的に実行します。 cronは毎日、systemdは毎時間実行します。 anacronはシステム起動時にも実行されます(渡す初期化スクリプト)と電源状態が変更されたとき(回復時またはAC電源が接続されているとき)。