1.構造
cron 式は、5 つまたは 6 つのスペースで区切られた文字列で、6 つまたは 7 つのドメインに分割されています。各ドメインは意味を表します。Cron には、次の 2 つの構文形式があります。
(1)秒分時月 日 月日曜日年
(2)秒分時DayofMonth月DayofWeek
とうもろこしを左から右へ (スペースで区切る):
秒 分 時 月 日 月 日 週 年
2. 各フィールドの意味
分野 |
手当 |
使用できる特殊文字 |
秒 |
0~59 の整数 |
, - * / 4文字 |
分(Minutes) |
0~59 の整数 |
, - * / 4文字 |
時間 |
0 から 23 までの整数 |
, - * / 4文字 |
日付(月の日) |
1 から 31 までの整数 (ただし、月の日数を考慮する必要があります) |
,- * ? / LWC 8 文字 |
月 |
1 から 12 までの整数または JAN-DEC |
, - * / 4文字 |
曜日 |
1 から 7 までの整数または SUN-SAT (1=SUN) |
, - * ? / LC # 8 文字 |
年(任意、空白のまま)(年) |
1970~2099年 |
, - * / 4文字 |
各フィールドには数字が使用されますが、次の特殊文字も表示される可能性があり、その意味は次のとおりです。
シリアルナンバー | シンボル | 意味 |
1 | * | フィールドの任意の値に一致することを意味します。[分] フィールドに * が使用されている場合は、イベントが毎分トリガーされることを意味します。 |
2 | ? | DayofMonth および DayofWeek ドメインでのみ使用できます。ドメインの任意の値にも一致しますが、一致しません。DayofMonth と DayofWeek は互いに影響を与えるためです。たとえば、毎月 20 日にスケジュールをトリガーする場合、20 日が何曜日であっても、次のようにしか使用できません: 13 13 15 20 * ?。、* を使用する代わりに、曜日に関係なくトリガーされることを示すために * を使用すると、そうではありません |
3 | - | 範囲を示します。たとえば、Minutes フィールドで 5-20 を使用すると、5 分から 20 分まで毎分トリガーされることを示します。 |
4 | / | 開始時刻にトリガーが開始され、その後一定時間ごとにトリガーされることを示します。たとえば、Minutes フィールドで 5/20 を使用すると、5 分ごとに 1 回トリガーされ、25、45 などはそれぞれ 1 回トリガーされることを意味します。 |
5 | 、 | 列挙値をリストすることを示します。例: [分] フィールドに 5,20 を使用すると、毎分 5 分と 20 分にトリガーされることを意味します。 |
6 | L | 最後に、DayofWeek と DayofMonth のフィールドにのみ表示されることを示します。DayofWeek フィールドで 5L が使用されている場合、最後の木曜日にトリガーされることを意味します。 |
7 | W | DayofMonth フィールドにのみ表示される有効な稼働日 (月曜日から金曜日) を示します。システムは、指定された日付に最も近い有効な稼働日にイベントをトリガーします。例: DayofMonth で 5W を使用すると、5 日が土曜日の場合、最も近い営業日である 4 日の金曜日にトリガーされます。5日が日曜日の場合は6日(月曜日)、5日が月曜日から金曜日の場合は5日に発生します。もう 1 つのポイントは、W の最新のルックアップが数か月にまたがらないことです。 |
8 | LW | これら 2 つの文字を一緒に使用して、月の最終営業日、つまり最終金曜日を示すことができます。 |
9 | # | 特定の月の曜日を決定するために使用され、DayofWeek フィールドにのみ表示されます。たとえば、4#2 では、特定の月の第 2 水曜日を意味します。 |
3. 一般的な表現の例
(1) 0 0 2 1 * ? * は、毎月 1 日の午前 2 時にタスクを調整することを意味します
(2) 0 15 10 ? * MON-FRI は、月曜日から金曜日までの毎朝 10:15 にジョブが実行されることを意味します。
(3) 0 15 10 ? 6L 2002-2006 は、2002-2006 年の各月の最終金曜日の午前 10 時 15 分に操作が実行されることを示します。
(4) 0 0 10,14,16 * * ? 毎日午前 10 時、午後 2 時、午後 4 時
(5) 0 0/30 9-17 * * ? 9 時から 5 時までの 30 分ごと
(6) 0 0 12 ? ※WEDは毎週水曜日の正午を意味します
(7) 0 0 12 * * ? 毎日正午にトリガー
(8) 0 15 10 ? * * 毎日午前 10 時 15 分にトリガー
(9) 0 15 10 * * ? 毎日午前 10 時 15 分にトリガー
(10) 0 15 10 * * ? * 毎日午前 10 時 15 分にトリガー
(11) 0 15 10 * * ? 2005 2005 年は毎日午前 10 時 15 分にトリガー
(12) 0 * 14 * * ? 毎日午後 2 時から午後 2 時 59 分まで 1 分ごとにトリガーされます
(13) 0 0/5 14 * * ? 毎日午後 2 時から午後 2 時 55 分まで 5 分ごとにトリガー
(14) 0 0/5 14,18 * * ? 毎日午後 2 時から午後 2 時 55 分まで、および午後 6 時から午後 6 時 55 分までの間、5 分ごとにトリガー
(15) 0 0-5 14 * * ? 毎日午後 2 時から午後 2 時 5 分まで 1 分ごとにトリガー
(16) 0 10,44 14 ? 3 WED 毎年 3 月の水曜日の午後 2 時 10 分と 2 時 44 分に発射されます。
(17) 0 15 10 ? * MON-FRI 月曜日から金曜日の午前 10 時 15 分にトリガー
(18) 0 15 10 15 * ? 毎月 15 日の午前 10 時 15 分にトリガーされます
(19) 0 15 10 L* ? 毎月最終日の午前 10 時 15 分にトリガーされます
(20) 0 15 10 ? * 6L 毎月最終金曜日の午前 10 時 15 分にトリガーされます
(21) 0 15 10 ? * 6L 2002-2005 2002 年から 2005 年まで、毎月最終金曜日の午前 10 時 15 分にトリガーされます
(22) 0 15 10 ? * 6#3 毎月第 3 金曜日の午前 10 時 15 分にトリガーされます
ノート:
一部の部分式には範囲またはリストを含めることができます
例: 部分式 (日 (週)) は、"MON-FRI"、"MON, WED, FRI"、"MON-WED, SAT" のいずれかです。"*" 文字は、可能なすべての値を表します。
したがって、「*」は部分式 (month) の各月の意味を表し、「*」は部分式 (day (week)) の各曜日を表します。
「/」文字は、値の増分を指定するために使用されます
例: 部分式 (分) の「0/15」は、15 分ごとに 0 分目から開始することを意味します。
部分式 (分) の "3/20" は、3 分目から 20 分ごと ("3, 23, 43" と同じ意味) を意味します。
「?」文字は、日 (月) と日 (週) の 2 つのサブ式でのみ使用され、値が指定されていないことを示します。
2 つの部分式の一方に値が割り当てられている場合、競合を避けるために、もう一方の部分式の値を「?」に設定する必要があります。
「L」文字は、単語「last」の省略形である、日 (月) および日 (週) 部分式でのみ使用されます。
しかし、2 つの部分式での意味は異なります。
日 (月) 部分式では、「L」は月の最終日を意味します。
day (week) 自己表現の「L」は、週の最後の日、つまり SAT を意味します。
「L」の前に特定の何かがある場合、それは他の意味を持ちます
例: 「6L」は今月の最後の 6 日を意味し、「FRIL」は今月の最後の金曜日を意味します。
注: 「L」パラメーターを使用する場合は、リストまたは範囲を指定しないでください。問題が発生する可能性があります。