cron の構文をちょいちょい忘れるので基本的なとこだけメモしておく。
cron の構文
一番基本的なやつ
一番基本的なやつ。
- 5つのフィールドをスペースで区切って指定する
- フィールドは左から分・時・日・月・曜日を指定する
指定できる範囲はこんな感じ。フィールドによって 0 始まりだったり 1 始まりするので気にしておく。
| フィールド | 範囲 |
|---|---|
| 分 | 0-59 |
| 時 | 0-23 |
| 日 | 1-31 |
| 月 | 1-12 または JAN-DEC |
| 曜日 | 0-6 または SUN-SAT |
演算子
フィールドは時刻を表す数値だけじゃなくていくつかの演算子が使える。
| 演算子 | 説明 | 例 |
|---|---|---|
| * | 任意の値 | * * * * * 毎日、毎分実行する |
| , | 値リストの区切り文字 | 2,10 4 * * * 毎日、午前4時2分と午前4時10分に実行する |
| - | 値の範囲 | 0 4-6 * * * 毎日、午前4時0分、午前5時0分と午前6時0分に実行する |
| / | ステップ値 | 20/15 * * * * 毎日、20分から59分までの間で15分おきに実行する (20分、35分、50分) |
実行する時間の書き方の例
| 実行する日時 | フィールドの記載 | 説明 |
|---|---|---|
| 毎分 | * * * * * |
毎分実行する |
| 2分ごと | */2 * * * * |
2分ごとに実行する |
| 1時間ごと | 0 * * * * |
1時間ごとに0分に実行する |
| 2時間ごと | 0 */2 * * * |
2時間ごとに0分に実行する |
| 10時から17時までの範囲で1時間ごと | 0 10-17 * * * |
10時から17時の間は1時間ごとに0分に実行する |
| 毎日 | 0 0 * * * |
毎日0時0分に実行する |
| 2日ごと | 0 0 */2 * * |
2日ごとに0時0分に実行する |
| 日曜日 | 0 0 * * SUN |
日曜日の0時0分に実行する |
| 平日 | 0 0 * * MON-FRI |
月曜日から金曜日の間は0時0分に実行する |
| 毎月 | 0 0 1 * * |
毎月1日の0時0分に実行する |
| 2ヶ月ごと | 0 0 1 */2 * |
2ヶ月ごとに1日の0時0分に実行する |