ジョブを月の最終月曜日のみ実行しないようにするための cron 式の書き方

ジョブを月の最終月曜日のみ実行しないようにするための cron 式の書き方

私の要件 -

  • cron 式を使用してジョブをスケジュールします。
  • ジョブはスケジュールされており、毎月月曜日の午前00:05に実行されます。
  • そして、それは毎月最終月曜日に実行されるはずです。

例: 今月は 3 日、10 日、17 日、24 日にジョブをスケジュールしたとします。24 日のジョブは 3 日、10 日、17 日だけでなく、その月全体で同様に実行されることを期待しています。

答え1

特定の日、たとえば月曜日に実行したい場合は、曜日を設定する必要があります。

* * * * *

これはファイル内に示されています/etc/crontabが、明確にするために、アスタリスクは左から右に次のことを表します。

分 時間 日 月 曜日

現時点では、これらの日付が設定されていますが、これらの日付が常に月曜日であるとは限らないため、明らかにそれは必要ありません。必要な結果を得るには、次のコードを使用します。

5 0 * * MON user command

これにより、月曜日の日付に関係なく、毎週月曜日の午前 0 時 5 分 (12:05AM または 00:05AM) にジョブが実行されます。

関連情報