%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
私は fedora20 とそのデフォルトの cron を使用しています。rtcwake を使用してサーバーを午前 10:30 にスリープ状態にし、午後 12:30 に起動する cron ジョブ スクリプトがあります。午前 9:40 にスクリプトを手動で実行すると、午後 12:30 にも起動します。午前 9:40 にスクリプトを手動で実行すると、午後 12:30 に起動した後、午前 10:30 に実行されなかった cron タスクが実行され、すぐにスリープ状態になります (午後 3:30 に起動します)。
私のサーバーではこのようなことが起きているようです。起動後に cron が失敗したジョブを実行するかどうかを知りたいです。実行する場合、この動作を変更する方法はありますか? ありがとうございます。
答え1
Fedoraのデフォルトはクロニー、これはシステムがオフの場合でも定期的にジョブを実行するための anacron のような機能を組み込んでいます。デフォルトは/etc/anacrontab
次のようになります。
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
...つまり、デフォルトでは、これらのディレクトリ ( /etc/cron.[daily,weekly,monthly]
) のいずれかに配置したスクリプトは、コンピュータの電源がオフの場合でも実行されます。ただし、/etc/crontab
または/etc/cron.d
またはユーザーの crontab 内のものはそのようには動作しません。man anacrontab
既存の定期的なスケジュールが機能しない場合は、新しいエントリを追加する方法については を参照してください。
答え2
すべてのcron
デーモンが非連続的なアップタイムのケースを処理できるわけではありません。「欠落した」ジョブを実行するために特別に設計されたデーモンは、anacron
。