Cron式
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日があるわけではありません。日数が少ない月に |
| [1 -12] | -- |
| [0 - 6] |
|
特殊文字と演算子
これらの演算子は、ほとんどのフィールドで使用できます。
演算子 | 意味 | 例 |
|---|---|---|
| 任意の値 |
|
| 値のリスト |
|
| 値の範囲 |
|
| ステップ値 (N単位ごと) 注: 範囲とステップを組み合わせることもできます。 |
|
例
このセクションでは、直接使用できるシンプルなテンプレートをいくつか紹介します。演算子の組み合わせを使用する複雑な式が必要な場合は、こちらの例を参照してください。
シンプルなテンプレート
ユースケース | Cron式 | 意味 |
|---|---|---|
毎分 |
| 毎分実行 |
5分ごと |
| 5分ごとに実行 |
毎時 |
| 毎時開始時に実行 |
毎日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に実行されます。