cron 式を日本語で読む
crontab・GitHub Actions・Cloud Scheduler の cron 式を貼ると、意味と次の実行時刻を出します。
計算はブラウザの中だけで行い、入力した式はどこにも送りません。
平日(月〜金) 9:00
| 欄 | 書いた値 | 当てはまる値 |
|---|---|---|
| 分 | 0 | 0 |
| 時 | 9 | 9 |
| 日 | * | すべて |
| 月 | * | すべて |
| 曜日 | 1-5 | 月〜金 |
次の実行時刻
サーバーの時刻が日本時間(TZ=Asia/Tokyo)の場合。
- 2026/10/27(火) 09:00
- 2026/10/28(水) 09:00
- 2026/10/29(木) 09:00
- 2026/10/30(金) 09:00
- 2026/11/02(月) 09:00
よく使う書き方
押すと上の欄に入ります。
| 5分ごと | |
| 毎時0分 | |
| 毎日0時 | |
| 平日の9時 | |
| 毎週金曜18:30 | |
| 毎月1日の0時 | |
| 平日9〜18時の毎時 | |
| 平日の営業時間に10分ごと | |
| 四半期の初日 | |
| 毎週日曜3時(メンテ枠) | |
| 土日の0時 | |
| 毎年1月1日 |
書き方の早見表
┌───────── 分(0〜59)
│ ┌─────── 時(0〜23)
│ │ ┌───── 日(1〜31)
│ │ │ ┌─── 月(1〜12 または JAN〜DEC)
│ │ │ │ ┌─ 曜日(0〜7 または SUN〜SAT。0 と 7 が日曜)
│ │ │ │ │
* * * * * 実行するコマンド| 記号 | 意味 | 例 |
|---|---|---|
* | すべて | * * * * * 毎分 |
, | 並べる | 0 9,18 * * * 9時と18時 |
- | 範囲 | 0 9 * * 1-5 月〜金 |
/ | 間隔 | */15 * * * * 15分ごと |
@daily など | 略記 | @hourly・@daily・@weekly・@monthly・@yearly・@reboot |
間違えやすい5つの点
- 日と曜日は OR。
0 0 13 * 5は「13日の金曜日」ではなく「毎月13日」と「毎週金曜日」の両方で動きます。 - GitHub Actions は UTC。日本時間の9時に動かすなら
0 0 * * *。月曜朝9時なら0 0 * * 1(UTC では月曜0時)。日本時間の0〜8時台を狙うと、UTC では前日になり曜日もずれます。 - crontab の
%は改行になる。date +%Y%m%dはdate +\%Y\%m\%dと書きます。 - cron は PATH が短い。手で打つと動くのに cron だと動かないときは、コマンドを絶対パスで書くか、crontab の先頭に
PATH=...を書きます。 - 60を割り切れない間隔は毎時リセット。
*/7は 56分の次が翌時0分です。
よくある質問
cron 式の5つの欄は何ですか?
左から「分(0〜59)」「時(0〜23)」「日(1〜31)」「月(1〜12)」「曜日(0〜7、0と7が日曜)」です。スペースで区切ります。秒の欄はありません。
日と曜日の両方を指定するとどうなりますか?
両方を満たす日ではなく、どちらか一方を満たす日に動きます。「0 0 13 * 5」は「13日の金曜日」ではなく「毎月13日と、毎週金曜日」です。どちらかを * にすると、もう一方だけで判定されます。
GitHub Actions の schedule は日本時間ですか?
いいえ、UTC です。日本時間の朝9時に動かしたいなら、9時間引いて「0 0 * * *」と書きます。混雑時は数分〜数十分遅れることがあり、最短の間隔は5分です。
*/7 のように60を割り切れない間隔はどう動きますか?
毎時0分でリセットされます。「*/7」は 0,7,14,…,56 分で、56分の次は翌時の0分(4分後)です。厳密に7分間隔にはなりません。
6つの欄がある cron 式は使えますか?
Linux の crontab では使えません。Spring や Quartz は先頭に「秒」、AWS EventBridge は末尾に「年」が付いた6欄です。このページでは5欄の crontab 形式だけを読みます。
crontab で % を書くと動かないのはなぜですか?
crontab ではコマンド中の % が改行として扱われます。date +%Y%m%d のように書くときは \% とエスケープします。