Cron式パーサー・次回実行時刻計算ツール
cron式(分 時 日 月 曜日)を解析し、スケジュールの意味を日本語で表示。ステップ・範囲・カンマ区切りにも対応し、次回実行される5件の日時も自動計算する無料ツール。crontabやGitHub Actionsのスケジュール設定の確認に便利です。
Cron式の構文(5つのフィールド)
cron式は左から「分・時・日(日付)・月・曜日」の5つのフィールドをスペースで区切って指定します。各フィールドには以下の特殊文字が使えます。
| 位置 | フィールド | 指定可能な範囲 |
|---|---|---|
| 1 | 分 | 0-59 |
| 2 | 時 | 0-23 |
| 3 | 日(日付) | 1-31 |
| 4 | 月 | 1-12 |
| 5 | 曜日 | 0-7 |
曜日は0=日曜〜6=土曜が標準ですが、一部のcron実装で使われる7=日曜の表記もこのツールは受け付けます(内部的に0として扱います)。
各フィールドでは「*」(すべて)、カンマ区切りの列挙(1,15,30)、ハイフンによる範囲指定(1-5)、スラッシュによる間隔指定(*/15、1-30/5)が使え、これらは自由に組み合わせられます。
よくあるcronパターン
| cron式 | 意味 |
|---|---|
| * * * * * | 毎分実行されます。 |
| */5 * * * * | 5分ごとに実行されます。 |
| 0 * * * * | 毎時0分(1時間に1回)に実行されます。 |
| 0 0 * * * | 毎日0時0分(深夜)に実行されます。 |
| 0 9 * * 1-5 | 平日(月〜金)の9時に実行されます。 |
| 0 0 1 * * | 毎月1日の0時0分に実行されます。 |
| 0 0 1 1 * | 毎年1月1日の0時0分に実行されます。 |
| */15 9-17 * * 1-5 | 平日の9時から17時まで、15分ごとに実行されます。 |
Tips
- 「*/15 9-17 * * 1-5」のように、カンマ・ハイフンの範囲・スラッシュの間隔指定は自由に組み合わせられます。
- 曜日フィールドは0=日曜〜6=土曜が標準ですが、一部のcron実装が使う7=日曜の表記もこのツールは受け付けます。
- 日(日付)と曜日の両方を「*」以外に制限した場合、cronの仕様上どちらか一方に一致すれば実行される「OR」条件になる点に注意してください。
- GitHub Actionsのschedule設定もこのツールと同じ5フィールド形式のcron構文を使うため、ワークフローの実行タイミング確認にも活用できます。
- サーバーのタイムゾーン設定によって実際の実行時刻がずれることがあるため、crontab編集後はサーバーの現在時刻も確認しておくと安心です。
よくある質問
余談ですが ― cronの半世紀
cronという名前はギリシャ語で「時間」を意味するChronos(クロノス)に由来するとされ、1970年代のUNIX初期から存在する定番のジョブスケジューラです。5つのフィールドだけで「毎分」から「毎年特定の日時」まで表現できる簡潔な構文は、半世紀近く経った今も広く使われ続けています。
近年ではLinuxサーバーのcrontabだけでなく、GitHub ActionsやGitLab CI、KubernetesのCronJobなど、多くのCI/CDツールやコンテナ基盤がこの5フィールド形式のcron構文をそのままスケジュール設定に採用しています。UNIX時代に設計された構文が、クラウドネイティブな環境でも変わらず使われ続けているのは興味深い事実です。
cron式でつまずきやすいポイントの一つが、日(日付)と曜日を同時に指定した場合の挙動です。直感的には「AND(両方を満たす日)」を期待しがちですが、実際の仕様は「OR(どちらかを満たす日)」であり、意図と異なる頻度で実行されてしまうトラブルの原因になりやすいところです。