🕰️
Amazon EventBridgeでのcronの書き方まとめ
はじめに
バックエンドエンジニアの角方です!
「特定の時間にスクリプトを自動実行したい」 そんな時に欠かせないのが cron(クーロン) です。
しかし、いざ設定しようとすると「曜日の数字、0だっけ1だっけ?って毎回調べてる…」「そもそもcronの書き方、何度設定しても覚えられない…」
久しぶりに触ってみると忘れていることが多く、その度に検索して時間を溶かすのが嫌だったので、備忘録としてまとめました!
記述の基本ルール
並び順
分 時 日 月 曜日 年
* * * * * *
| 項目 | 指定範囲 | 特殊文字 | 意味 |
|---|---|---|---|
| 分 | 0-59 | , - * / | 何分に実行するか |
| 時 | 0-23 | , - * / | 何時に実行するか |
| 日 | 1-31 | , - * ? / L W | 何日に実行するか |
| 月 | 1-12 or JAN-DEC | , - * / | 何月に実行するか |
| 曜日 | 1-7 or SUN-SAT | , - * ? L # | どの曜日に実行するか |
| 年 | 1970-2199 | , - * / | 何年に実行するか |
曜日の指定
曜日は以下のように数字で表されています⬇️
| 曜日 | 数字 |
|---|---|
| 日 | 1 |
| 月 | 2 |
| 火 | 3 |
| 水 | 4 |
| 木 | 5 |
| 金 | 6 |
| 土 | 7 |
特殊文字の使い方
| 文字 | 意味 | 記述例 |
|---|---|---|
| , | 複数 | 1,10 (「日」であれば1日と10日) |
| ? | 指定なし | ? (「日」か「曜日」のどちらか一方に必ず使う) |
| * | すべて | * |
| / | 間隔 | 0/15(0分から15分おき) |
| L | 最後(Last) | L(月末日)、6L(最終金曜日) |
| W | 平日(Weekday) | 15W(15日に最も近い平日) |
| # | 第n曜 | 3#2(第2火曜日) |
【注意】 UTCとJSTの変換
EventBridgeのcronは UTC で記述する必要があります。
日本時間(JST)から 「9時間戻す」 のを忘れないようにしましょう。
例)毎日9:00
0 0 * * ? *
EventBridge cron例(JST)
毎日 12:30
30 3 * * ? *
平日の 17:00
0 8 ? * MON-FRI *
2026年1月1日の 09:00
0 0 1 1 ? 2026
毎月最終金曜日の 09:00
0 0 ? * 6L *
2026年から2030年までの、毎月10日と20日の 23:30
30 14 10,20 * ? 2026-2030
最後に
ざっくりとではありますが、Amazon EventBridgeでのcron記法をまとめました!
Linuxのcronと微妙にルールが違うため、慣れている人ほど「あれ?」となりがちですよね。
特に 「JSTから9時間引く」のと「? をどっちかに使う」 の2点は、次回の設定時にもきっとまた迷うポイントかなと個人的に思いました。
もし「もっと複雑なスケジュールにしたい」と思ったら、迷わず EventBridgeコンソールのスケジューラから「次回の実行日」 を確認して答え合わせを確実にしましょう!
Discussion