システム時間または自己時間経過に基づくCronjob

システム時間または自己時間経過に基づくCronjob

cronjobは、システム時間や独自の時間経過によって異なりますか?システム時間の場合、システム時間を手動で変更すると、cronjobはそれに応じて新しく設定された時間に準拠しますか?

ベストアンサー1

たとえば、時計を12時4分から12時6分に移動し、ジョブが12時5分にスケジュールされている場合、そのジョブはいいえランニング。

毎日12時5分にジョブを実行する必要がある場合または次に、できるだけ早く(電源投入後またはシステムクロックの後)、毎分(または許可されている場合はより長い間隔で)ジョブを実行し、スクリプトがステータスファイルに基づいて一日の最後の実行であることを確認します。ステータスファイルが存在し、最新の場合、スクリプトはすぐに終了する必要があります(つまり、12:05以降の最速の機会に実行されます)。そうでない場合は、ステータスファイルを設定し、残りのスクリプトを実行して、次の日の12:5分に時計が到達するまで追加の呼び出しが何も実行されないようにします。

特に作業に時間がかかる場合は、まずステータスファイルを更新してから実行を続けることが重要です。そうしないと、12:06 確認で更新された状態が見つからず、他のジョブの並列実行が開始されます。

おすすめ記事