マシンがオンのときに、必ずしも特定の時間である必要はないが、1日に1回cronジョブを実行する

マシンがオンのときに、必ずしも特定の時間である必要はないが、1日に1回cronジョブを実行する

常時実行されているわけではないが、少なくとも 1 日に 1 回、数時間実行されるマシンで、1 日に 1 回 cronjob を実行したいと考えています。cronjob の問題は、実行予定の正確な時間を指定する必要があるが、その特定の時間にマシンが実行していない可能性があることです。cron に「起動時にこれを行う」というオプションがあることは知っていますが、マシンは通常再起動されず、スタンバイ状態のままになっています。言い換えると、1 日に 1 回何かを実行したいのですが、正確な時間を指定できません。これに対する解決策はありますか?

答え1

次のようなものが欲しいアナクロン:

anacron は、従来は cron によって行われていた定期的なコマンド スケジューリングを実行するコンピュータ プログラムですが、システムが継続的に実行されているとは想定していません。したがって、1 日 24 時間実行されていないシステムで、毎日、毎週、毎月のジョブ (または n 日間の期間を持つジョブ) の実行を制御するために使用できます。

ほとんどの Linux ディストリビューションでパッケージとして利用可能です。おそらく MS Windows 用のポートもあるでしょう...

答え2

/etc/rc2.d の起動スクリプトからジョブを呼び出して、今日の日付をファイルに保存されている日付と比較し、そのファイルを更新することができます。

関連情報