Cron パーサー
Cron 式を読みやすいスケジュールに変換し、次回実行時刻をプレビューします。すべてブラウザ内で処理されます。
一般的なプリセット
フィールドリファレンス
| 分 | 時 | 日(月内) | 月 | 曜日 |
|---|---|---|---|---|
| 0-59 | 0-23 | 1-31 | 1-12 | 0-6 |
| 例: */5 * * * * = 毎分 */5 | ||||
| # | あと |
|---|
次回実行時刻を計算できませんでした
無効な Cron 式
Cron パーサーの使い方
Cron 式を入力
標準の5フィールドまたは6フィールドの Cron 式を入力フィールドに入力してください。
説明を確認
式が即座に読みやすい文章に変換されます。
実行時刻をプレビュー
次回のスケジュール実行時刻を確認して、式が正しいか検証できます。
Cron とは
Cron は Unix 系オペレーティングシステムの時間ベースのジョブスケジューラーです。ユーザーは Cron 式を使用してスケジュールジョブ(Cron ジョブ)を設定します。Cron 式はスペースで区切られた5つのフィールドからなる文字列で、スケジュールを定義します。
Cron 式の構文
標準的な Cron 式は5つのフィールドで構成されます:
分 (0-59)
時 (0-23)
日 (1-31)
月 (1-12)
曜日 (0-6、0=日曜日)
特殊文字
よくある質問
標準の5フィールド Cron(分 時 日 月 曜日)に対応し、@yearly、@monthly、@weekly、@daily、@hourly などの一般的な特殊文字列も認識します。
現在のローカル時刻を開始点として、次の N 回の実行時刻を分単位の精度で計算します。
はい。@yearly、@monthly、@weekly、@daily、@hourly などの一般的なショートカットを認識して展開します。
古典的な Vixie cron 形式は 5 つのフィールドで構成されます。分(0-59)、時(0-23)、日(1-31)、月(1-12 または月名)、曜日(0-7、0 と 7 はどちらも日曜日を意味します)。Quartz や Spring などの一部のスケジューラーは、先頭に秒フィールドを追加した 6 フィールド形式を採用しています。このパーサーはフィールド数からどの形式が使われているかを判別します。
* はすべての値を意味します。分フィールドの */5 は 5 分ごと、1-5 は両端を含む範囲(たとえば曜日フィールドでは月曜から金曜の平日)を表し、mon,wed,fri は個々の値を列挙します。これらは組み合わせて使えます。0 9-17/2 * * * は毎日 9:00、11:00、13:00…と 17:00 まで 2 時間おきに実行されます。
毎日午前 0 時なら 0 0 * * * です。6 時間ごとなら 0 */6 * * * で、時フィールドの */6 のステップにより 00:00、06:00、12:00、18:00 に実行されます。毎週日曜日の午前 3 時なら 0 3 * * 0 です。このパーサーは次回実行時刻を計算するので、導入前にスケジュールを確認できます。
十中八九、原因はタイムゾーンの不一致です。Cron はサーバーのローカル時計に基づいて評価します(実装によっては crontab 内の CRON_TZ= や TZ= の行が反映されます)。2 番目の原因はサマータイム(DST)の切替です。時計が進むことで存在しなくなる時刻に予定されたジョブはスキップされる場合があり、この動作は Vixie cron のドキュメントにも記載されています。Docker コンテナは TZ を設定しない限り UTC がデフォルトです。
Cron は古典的な Unix スケジューラーで、シンプルで分解能は分単位ですが、取りこぼしたジョブを後から補完する機能は組み込まれていません。systemd タイマーは秒単位の精度に加え、マシンの電源が切れている間に逃した実行を回収する Persistent=true や journald へのログ出力を提供します。Windows Task Scheduler は GUI、イベントトリガー、実行漏れを検知した時点でできるだけ早く実行するというセマンティクスを備えています。Kubernetes CronJob はクラウドネイティブなスタックで同じ役割を果たします。
関連ツール
権威ある参考文献
このツールの根拠となる一次資料です。二次的な要約ではなく、公式の標準規格と仕様に基づいています。