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 日になります。 これを曜日フィールドで使用すると、単純に "7" または "SAT" の意味ですが、これを曜日フィールドで、別の値の後に使用すると、その意味は「月の最終 x 曜日」になります。例えば、"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 に作動 |