タイミング タスクでの cron 式の詳細な説明

1.構造

cron 式は、5 つまたは 6 つのスペースで区切られた文字列で、6 つまたは 7 つのドメインに分割されています。各ドメインは意味を表します。Cron には、次の 2 つの構文形式があります。

(1)月 日 月曜日

(2)DayofMonthDayofWeek

とうもろこしを左から右へ (スペースで区切る):

月 日 日 週

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」パラメーターを使用する場合は、リストまたは範囲を指定しないでください。問題が発生する可能性があります。

おすすめ

転載: blog.csdn.net/m0_48983233/article/details/122656494