クローンとアナクロン

クローンとアナクロン

私はcron / anacronがLinuxでどのように機能するかをよく理解しています。私の質問はこれです:

  1. /etc/cron.dailyanacronはログイン時に実行され、実行スクリプトから1日以上経過したことを確認します。
  2. anacronはスクリプトを実行し/etc/cron.daily、タイムスタンプを更新します。/var/spool/anacron/cron.daily
  3. アナクロン終了
  4. コンピュータが24時間以上オンになっています。
  5. cronが実行され、cron.dailyの時間一致を検出します。
  6. cronはその時点から何もしません。test -x anacrontab" == True

コンピュータが24時間以上実行されている場合、cronはcron.daily(Debianベースのディストリビューション)でスクリプトをどのように実行しますか?

デフォルト/etc/crontab(1分ごとに実行)は、存在するか(より正確には-xビット)をテストし、/usr/bin/anacronフォルダが見つかった場合はフォルダを無視します/etc/cron.dailyが、操作を実行するためにanacronを再起動しないようです。

編集する:

したがって、cronはこのフォルダでanacronを実行します/etc/cron.dが、コンピュータの電源が入っていて毎日午前7時30分にログインしている場合にのみ可能です。いくつかのスプレッドシートタスクを実行した後、スクリプトは/etc/cron.daily1分から31.5時間の間に実行されると結論付けました。

前任者:

シーン1:

  • 2021年5月23日午後11時59分ログイン
  • anacronタイムスタンプが/etc/cron.daily2021年5月23日より前であると仮定すると、anacronはすべてのスクリプトを実行し、/etc/cron.dailyタイムスタンプを2021年5月23日に更新します。
  • ログアウト
  • 2021年5月24日午後12時に再度ログインしてください。
  • anacronは、最後の実行が2021年5月23日で、現在は2021年5月24日であることを確認しました。したがって、anacronはすべてのスクリプトを実行しました。/etc/cron.daily
  • 実行間の経過時間:1分

シナリオ 2:

  • 2021年5月23日12時ログイン
  • anacronタイムスタンプが/etc/cron.daily2021年5月23日より前であると仮定すると、anacronはすべてのスクリプトを実行し、/etc/cron.dailyタイムスタンプを2021年5月23日に更新します。
  • コンピュータは2021年5月23日午前7時30分までオンになっており、ログインしています。
  • cron は crontab ファイルで anacron を実行します。/etc/cron.d
  • タイムスタンプが2021年5月23日なので、何も起こりません。
  • コンピュータは2021年5月24日午前7時30分までオンになっており、ログインしています。
  • cron は crontab ファイルで anacron を実行します。/etc/cron.d
  • anacronは、最後の実行が2021年5月23日で、現在は2021年5月24日であることを確認しました。したがって、anacronはすべてのスクリプトを実行しました。/etc/cron.daily
  • 実行間の経過時間:31.5時間

答え1

すべてのシステム/etc/cron.dailyなど/etc/cron.weeklyのファイルには、実行する項目が含まれています。ナクロンこれには実行する項目が含まれます。予約されたこと/etc/crontabアイテムを含めるコンポーネントの実行〜するナクロン次のいずれかを実行します。コンポーネントの実行または経由予約されたこと

考慮すべき別のファイルは、/etc/anacrontab特定の効果を無視できることです。/etc/crontab

重要なシステム予約されたこと関連ファイルは、/etc/cron.daily/logrotateログ循環プロセスを開始するために使用されるスクリプトです。

一般ユーザー予約されたことシステムcronjobとは独立して実行されます。

これは/etc/crontab毎分実行されません。アクティビティは、さまざまなcrontab仕様に基づいて決定されます。

関連情報