Crontabでは、Day of the Weekフィールドは0 - 6
または1 -7
から始まりますか?
私はこれについて矛盾する情報を見ています。ウィキペディアに0-6
とあり、私が見た他のサイトは1-7
です。
また、0
または7
を誤って使用した場合、どうなるでしょうか。つまり、クーロンはまだ実行されますか?
0
と7
は両方とも日曜日を表します、あなたが望むものを使うことができます、従って0-6または1-7を書くことは同じ結果になります。
また、@ Henrikが示唆しているように、数字をMON
、THU
などの短縮された曜日名に置き換えることができます。
0 - Sun Sunday
1 - Mon Monday
2 - Tue Tuesday
3 - Wed Wednesday
4 - Thu Thursday
5 - Fri Friday
6 - Sat Saturday
7 - Sun Sunday
グラフィカルに
┌────────── minute (0 - 59)
│ ┌──────── hour (0 - 23)
│ │ ┌────── day of month (1 - 31)
│ │ │ ┌──── month (1 - 12)
│ │ │ │ ┌── day of week (0 - 6 => Sunday - Saturday, or
│ │ │ │ │ 1 - 7 => Monday - Sunday)
↓ ↓ ↓ ↓ ↓
* * * * * command to be executed
最後に、日にちを指定したい場合は、日をカンマで区切ることができます。例えば、Sun,MON,THU
は日曜日、木曜日は月曜日にのみコマンドを実行します。
詳しくは、 ウィキペディアのCronに関する記事 を参照してください。
:-) Sunday | 0 -> Sun
|
Monday | 1 -> Mon
Tuesday | 2 -> Tue
Wednesday | 3 -> Wed
Thursday | 4 -> Thu
Friday | 5 -> Fri
Saturday | 6 -> Sat
|
:-) Sunday | 7 -> Sun
あなたが上で見ることができるように、そして前に述べたように、数0
と7
は両方とも日曜日に割り当てられます。記載されている英語の曜日の短縮形もあり、これはcrontabでも使用できます。
数値または省略形の使用例
15 09 * * 5,6,0 command
15 09 * * 5,6,7 command
15 09 * * 5-7 command
15 09 * * Fri,Sat,Sun command
4つの例はすべて同じことを行い、毎週金曜日、土曜日、日曜日の9.15時にコマンドを実行します。
詳細
日曜日に2つの数字0
と7
を持つことは、0
で始まるまたは7
で終わる平日の範囲を書くのに役立ちます。したがって、たとえば0-2
や5-7
のように、日曜日から始まる範囲、またはそれで終わる範囲を書くことができます(範囲は小さい数字で始まり、大きい数字で終わる必要があります)。省略形を使用して平日の範囲を定義することはできません。
月曜日にはMon
、火曜日にはTue
などの曜日名も使用できます。
Spring を使う:
このジョブは毎週月曜日の午前10時から午後10時にで開始されます:
@Scheduled(cron = "0 0 10 * * MON")
このジョブは毎月1日の午前10時から午前10時までにで始まります
@Scheduled(cron = "0 0 10 1 1/1 ?")