Cron 式は、スケーリングタスクを特定の時刻に実行するためのスケジュールを定義します。
このガイドでは、Unix cron 形式(標準的な 5 フィールド 構文)を 分単位 の精度で説明します。スケジュールは、すべてのフィールドが一致 する現在時刻でトリガーされます。Cron スケジュールは、ユーザーが選択したタイムゾーンで評価されます。
式の形式とフィールド値
Cron 式は、空白文字で区切られた 5 つの日時フィールドで構成されます。
* * * * *
│ │ │ │ └── day of week
│ │ │ └──── month
│ │ └────── day of month
│ └──────── hour
└────────── minute
フィールド | 有効な値の範囲 | 備考 |
|---|---|---|
| [0 - 59] | -- |
| [0 - 23] | 24時間表記です。 CRON式の |
| [1 - 31] | すべての月が31日あるわけではありません。日数が31日未満の月に |
| [1 -12] | -- |
| [0 - 6] |
|
特殊文字と演算子
これらの演算子はほとんどのフィールドで使用できます:
演算子 | 意味 | 例 |
|---|---|---|
| 任意の値 |
|
| 値のリスト |
|
| 値の範囲 |
|
| ステップ値(N単位ごと) 注:範囲とステップを組み合わせることもできます。 |
|
例
このセクションでは、直接使用できるシンプルなテンプレートをいくつか紹介します。より複雑な演算子の組み合わせが必要な場合は、こちらの例をご参照ください。
シンプルなテンプレート
ユースケース | CRON式 | 意味 |
|---|---|---|
毎分 |
| 毎分実行 |
5分ごと |
| 5分ごとに実行 |
毎時 |
| 毎時0分に実行 |
毎日09:30 |
| 毎日09:30に実行 |
平日09:00 |
| 月曜~金曜の09:00に実行 |
毎月1日09:00 |
| 毎月1日の09:00に実行 |
毎週日曜日09:00 |
| 毎週日曜日の09:00に実行 |
1日2回 |
| 毎日09:00および21:00に実行 |
一般的なシナリオ
以下の例では、典型的なワークロードパターンに基づいて、スケジュールされたスケーリングタスク用のUnix cron式の書き方を示します。
例1: 平日のピーク時間帯にスケールアップし、オフピーク時間帯にスケールダウンする
これを行うには、ピーク時間帯用とオフピーク時間帯用の2つのスケジュールを作成します。
-
ピーク時間帯:
* 9-18 * * 1-5
月曜日から金曜日の09:00から18:59まで毎分実行されます。 -
オフピーク時間帯:
* 0-8,19-23 * * 1-5
月曜日から金曜日の00:00から08:59および19:00から23:59まで毎分実行されます。
例2: 週末の低コストモード + 月曜日の復元
これを行うには、週末用と月曜日の復元用の2つのスケジュールを作成します。
-
週末:
* * * * 0,6
土曜日と日曜日の毎分実行されます。 -
月曜日の復元:
0 9 * * 1
毎週月曜日の09:00に実行されます。