Cron スケジュール
「cron」 スケジュールは、6 つまたは 7 つのサブフィールドで構成され、これらのサブフィールドは、ロボットを実行するタイミングを記述します。サブフィールドを 1 つまたは複数のスペースで区切って、以下の項目を記述します。
- 秒
- 分
- 時
- 日
- 月
- 曜日
- 年 (オプション フィールド)
Cron スケジュールの完全形の例は「0 0 12 ? * WED」で、その意味は「毎水曜日の午後 12:00」です。
個々のサブフィールドには範囲やリストを含めることができます。たとえば、先の例の曜日フィールド (つまり、"WED") は "MON-FRI"、"MON, WED, FRI"、または "MON-WED,SAT" などにも置き換えることができます。
「このフィールドで可能なすべての値」を意味するワイルドカード ("*" 文字) を使用することもできます。たとえば、先の例の月フィールド内の "*" 文字は、「毎月」の意味になります。曜日フィールド内の "*" 文字は、「毎日」という意味になります。
各フィールドに対する一連の有効値は、次のようになります。
- 秒:0~59 の数。
- 分:0~59 の数。
- 時:0~23 の数。
- 日:1~31 の数 (該当する月の日数を考慮)。
- 月:1~12 の数、または文字列 JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、および DEC。
- 曜日:1~7 の数 (1 は日曜日)、または文字列 SUN、MON、TUE、WED、THU、FRI、および SAT。
- 年:数。
さらに、以下のような特殊文字も使用できます。
定義 |
|
---|---|
/ |
値にインクリメントを指定します。たとえば、"0/15" を分フィールドに入力すると、「0 分から開始して 15 分毎」の意味になります。分フィールドに「3/20」と入力すると、「1 時間のうち、3 分から開始される 20 分毎」という意味になります。つまり、「3、23、43」を指定した場合と同じことになります。 |
? |
日フィールドおよび曜日フィールドにのみ使用でき、「指定値なし」を意味します。これら 2 つのフィールドのうち一方に何かを指定する必要があり、他方には不要な場合に便利です。詳細は、下の各例を参照してください。 |
L |
日フィールドおよび曜日フィールドに限り使用できます。"L" は "last" の省略形ですが、その意味は 2 つのフィールド間で異なります。 たとえば、日フィールドの「L」は「月の最終日」を意味し、1 月では 31 日、うるう年以外の年の 2 月では 28 日になります。 「L」を曜日フィールドで単独で使用した場合、「7」または「SAT」を意味しますが、曜日フィールド内で別の値の後に使用した場合、「月の最後の xxx 日」を意味します。たとえば、「6L」または「FRIL」はどちらも「月の最後の金曜日」を意味します。 「L」という文字を使用する場合は、混乱を招く原因となるため、リストや値の範囲を指定しないようにしてください。 |
# |
曜日フィールドに使用して、その月の「第 n 番目の」X 曜日を指定します。たとえば、"6#3" または "FRI#3" の値の意味は、「その月の第 3 金曜日」です。 |
W |
その日に一番近い平日 (月曜~金曜) を指定します。例として、日フィールドの値に「15W」と指定した場合、その意味は、「その月の 15 日に一番近い平日」になります。 |
例
Cron スケジュール |
説明 |
---|---|
0 0 12 * * ? |
毎日午後 12 時 (正午) に作動 |
0 15 10 ? * * |
毎日午前 10:15 に作動 |
0 15 10 * * ? |
毎日午前 10:15 に作動 |
0 15 10 * * ? * |
毎日午前 10:15 に作動 |
0 15 10 * * ? 2005 |
2005 年中は毎日午前 10:15 に作動 |
0 * 14 * * ? |
毎日午後 2 時から午後 2:59 までの間、毎分作動 |
0 0/5 14 * * ? |
毎日午後 2 時から午後 2:55 までの間、5 分毎に作動 |
0 0/5 14,18 * * ? |
午後 2 時から午後 2:55 までの間、5 分毎に作動 および、毎日午後 6 時から午後 6:55 までの間、5 分毎に作動 |
0 0-5 14 * * ? |
毎日午後 2 時から午後 2:05 までの間、毎分作動 |
0 10,44 14 ? 3 WED |
3 月の毎水曜日の午後 2:10 および午後 2:44 に作動。 |
0 15 10 ? * MON-FRI |
毎週月曜日、火曜日、水曜日、木曜日、および金曜日の午前 10:15 に作動 |
0 15 10 15 * ? |
毎月 15 日の午前 10:15 に作動 |
0 15 10 L * ? |
毎月最終日の午前 10:15 に作動 |
0 15 10 ? * 6L |
毎月最終金曜日の午前 10:15 に作動 |
0 15 10 ? * 6L |
毎月最終金曜日の午前 10:15 に作動 |
0 15 10 ? * 6L 2002-2005 |
2002、2003、2004、および 2005 年の毎月最終金曜日の午前 10:15 に作動 |
0 15 10 ? * 6#3 |
毎月第 3 金曜日の午前 10:15 に作動 |