時間の変化に応じたジョブの実行

時間の変化に応じたジョブの実行

毎日午前1時に実行されるcronジョブがあり、/ tmpにfirstrunとendrunという2つのファイルが作成されます。各ファイルには、スクリプトを実行する時間が含まれています。朝に一度、夕方に一度。これらのファイルには以下のように1行しかありません。

0803

午前8時3分

そして

1754年

午後5時54分

両方のファイルを確認するには、cronで実行されているスクリプトが必要です。現在の時刻が各ファイルに表示される時間に5分を超えると、他のスクリプトが起動して終了します。最善の点は、1日2回実行するだけです。要件が満たされたらファイルを削除し、ファイルが存在しない場合は終了できると思いました。もちろん、午前1時に最初のcronジョブはファイルを/tmpに戻します。

アイデアは、各タスクが1日1回だけ実行されることです。何度も何度も繰り返すのではなく、毎日。ファイルの時間は毎日変わります。また、最初のファイルで実行されるスクリプトは、2 番目のファイルで実行されるスクリプトとは異なります。

cronに入れて5分ごとに実行できる簡単な確認、トリガー、削除、終了スクリプトはありますか?それとももっと簡単な方法がありますか?私はいくつかのアプローチを試しましたが、それを自動化する成功した方法が見つかりませんでした。

答え1

at代わりにを使用して作業スケジュールをスケジュールできますcron

at将来のスケジュールされた時間に実行されるようにワンタイムタスクをスケジュールします。 cron定期的かつ所定の間隔で実行するジョブをスケジュールするのに適していますが、at不規則または不規則な間隔で実行されるジョブをスケジュールするのに適しています。

man 1 at詳細と使い方については、読んでください。

関連情報