ECS インスタンスでは、Cron コマンドを使用して時間ベースのスケジュールされたプログラムを設定できます。クラウドアシスタントなどのスケジュールされたメンテナンス機能で Cron を使用することができます。定期的なタスクを完了するために Cron 式を使用してパラメータを設定することにより、インスタンスは定期的な毎日のタスクまたは指定された時刻に個々のタスクを自動的に実行します。
このタスクについて
Cron 式の値は、時間に関係する String です。String は、5 つまたは6 つのスペースで、 XXXXXX
またはXXXXXXX
の形式で 6 つまたは 7 つのフィールドに区切られます。特に、 X
はフィールドのプレースホルダーです。フィールドに複数の値が含まれている場合は、カンマ( ,
)を使用して値を区切ります。各フィールドは、決められた値、または論理的な意味を持つ特殊文字にすることができます。次の表に、Cron 式の 7 つのフィールドの値とサポートされる特殊文字を示します。
Second | はい | [0, 59] |
*
,
-
/
|
Minute | はい | [0, 59] |
*
,
-
/
|
Hour | はい | [0, 23] |
*
,
-
/
|
Day | はい | [1, 31] |
*
,
-
/
?
L
W
|
Month | はい | [1, 12] または [JAN, DEC] |
*
,
-
/
|
Week | はい | [1, 7] または [SUN, SAT][1, 7] 式を使用している場合、 1 は日曜日を表し、2 は月曜日を表します。
|
*
,
-
/
?
L
#
|
Year | いいえ | [1970, 2099] |
*
,
-
/
|
特殊文字の意味
前の表に示すように、Cron 式の各フィールドは特定の数の特殊文字をサポートしており、それぞれの特殊文字には対応する意味があります。
-
*
: 可能なすべての値を示します。例:
- 「月」フィールドでは、
*
は任意の月を示します。 - 「週」フィールドでは、
*
は任意の曜日を示します。
- 「月」フィールドでは、
-
,
: 列挙値をリストするのに使用されます。例: 「分」フィールドでは、
5,20
はコマンド処理を 5 分と 20 分にそれぞれ 1 回トリガーすることを示します。 -
-
: スコープを定義します。例: 「分」フィールドでは、
5-20
は、5 分から 20 分まで 1 分おきにコマンド処理をトリガーすることを指示する。 -
/
: 指定された値の増分を示します。例:
- 「分」フィールドでは、
0/15
はコマンドプロセスを最初から 15 分ごとにトリガーすることを示します。 - 「分」フィールドでは、
3/20
は、3 分から 20 分ごとにコマンド処理をトリガーすることを示します。
- 「分」フィールドでは、
-
?
: 不特定の値を示します。この文字は「日付」と「週」フィールドのみをサポートします。”Date”または”Week”フィールドに値を指定すると、他のフィールドの値を?
に設定する必要があります。 -
L
: 「最後」を示します。この文字は「日付」と「週」フィールドのみをサポートします。2 つのフィールドの L の意味は異なる。L
の前に「Week」フィールドの6L
のような特定の内容がある場合は、その月の最後の金曜日を示します。- 「日付」フィールドに、L は月の最終日を示します。
- 「週」フィールドでは、L は土曜日(
SAT
)を示します。注:
L
文字を使用するときはリストやスコープを指定しないでください。それ以外の場合は、論理的障害につながる可能性があります。
-
W
: 週末以外の有効な就業日を示します。システムは、指定された日付に最も近い有効な勤務日にイベントをトリガーします。W
キャラクターが確定する勤務時間は、同じ月にのみ行われます。LW
は指定された月の最終勤務日を示します。例: 「日付」フィールドに
5W
が使用されている場合、その月の 5 日が土曜日になると、そのフィールドは、次の金曜日を 4 日目と見なします。月の第 5 日が日曜日である場合、フィールドは最も近い月曜日を月の第 6 日とみなします。月の 5 日が月曜日から金曜日の間にある場合、イベントは 5 日にトリガーされます。 -
#
: 毎月の特定の曜日を示します。”Week”フィールドのみがこの文字をサポートします。例: 「週」フィールドでは、
4#2
は月の 2 番目の水曜日を示します。
Cron 式の例
Cron の発現値の例を以下に示す。
0 15 10 ? * *
|
毎日 10 時 15 分にタスクを実行する |
0 15 10 * * ?
|
毎日 10 時 15 分にタスクを実行する |
0 15 10 * * ? *
|
毎日 10 時 15 分にタスクを実行する |
0 0 12 * * ?
|
毎日 12:00 にタスクを実行する |
0 0 10,14,16 * * ?
|
毎日 10:00、14:00、16:00 にタスクを実行する |
0 0/30 9-17 * * ?
|
毎日 09:00〜17:00 に 30 分ごとに 1 回タスクを実行する |
0 * 14 * * ?
|
毎日 14:00 〜 14:59 に 1 分おきにタスクを 1 回実行する |
0 0-5 14 * * ?
|
毎日 14:00 〜 14:05 に 1 分おきにタスクを 1 回実行する |
0 0/5 14 * * ?
|
毎日 14:00 〜 14:55 の 5 分ごとに 1 回タスクを実行する |
0 0/5 14,18 * * ?
|
毎日 14:00 〜 14:55 および 18:00 〜 18:55 の 5 分ごとに 1 回タスクを実行します |
0 0 12 ? * WED
|
毎週水曜日の 12:00 にタスクを実行する |
0 15 10 ? * MON-FRI
|
毎週月曜日から金曜日まで 10:15 にタスクを実行する |
0 0 2 1 * ? *
|
毎月 1 日の 02:00 にタスクを実行する |
0 15 10 15 * ?
|
毎月 15 日の 10 時 15 分にタスクを実行する |
0 15 10 L * ?
|
毎月最終日の 10 時 15 分にタスクを実行する |
0 15 10 ? * 6L
|
毎月最後の金曜日の 10 時 15 分にタスクを実行する |
0 15 10 ? * 6#3
|
毎月第 3 金曜日の 10 時 15 分にタスクを実行する |
0 10,44 14 ? 3 WED
|
毎週 3 月の水曜日に 14:10 から 14:44 までのタスクを実行します。 |
0 15 10 ? * 6L 2002-2005
|
2002 年から 2005 年までの毎月最後の金曜日の 10 時 15 分にタスクを実行する |
0 15 10 * * ? 2005
|
2005 年に毎日 10 時 15 分にタスクを実行する |
0 15 10 ? * 6L 2002-2006
|
2002 年から 2006 年までの毎月最後の金曜日の 10 時 15 分にタスクを実行する |
参考文献
Cron 式は次のように使用できます。