OpenReplay Logo
12k
12k

Cron 式パーサー

任意の cron 式を分かりやすい文章に解析し、次回の実行を予測し、フィールドごとにスケジュールを組み立てます — すべてブラウザー内で行えます。

次の 5 回の実行
フィールドの内訳
式を作成する

よく使うプリセット

フィールドごとのビルダー

ローカルで処理されます
* * * * *

このツールについて

cron 式は、Unix cron、Kubernetes CronJob、CI パイプライン、ほとんどのジョブスケジューラーで使われる、コンパクトなスケジュール文字列です。スペースで区切られた 5 つのフィールド — 分、時、日、月、曜日 — に、秒を表すオプションの 6 番目の先頭フィールドが加わります。各フィールドはワイルドカード (*)、単一の値、リスト (1,15,30)、範囲 (9-17)、ステップ (*/15, 0-12/3) を受け付け、月と曜日のフィールドは JAN や MON のような名前も受け付けます。このパーサーは各フィールドを具体的な値に展開し、@yearly、@monthly、@weekly、@daily、@hourly のニックネームを解決し、7 を 0 と同じく日曜日として扱います。

デプロイジョブが毎平日 9 時に本当に発火するかを確認したり、バックアップが一度も実行されない理由をデバッグしたり、同僚の難解な */15 9-17 * * 1-5 をひと目で読み解いたりするのに使えます。「次の 5 回の実行」パネルは、今後の発火時刻をローカルのタイムゾーンまたは UTC で計算し、日と曜日の両方が制限されている場合に標準 cron の OR ルールを正しく適用し、0 0 29 2 * のようなスケジュールではうるう年を正確にまたぎます。ビルダーのプリセットと、フィールドごとの Every / At / Range / Step コントロールは、有効な式をリアルタイムで構成するため、構文を覚えることなくスケジュールを作成できます。

Quartz 固有の拡張 (L、W、#、?) は標準 cron ではないため、誤って解析されることなく、明確なメッセージとともに拒否されます。

よくある質問

cron 式 */15 9-17 * * 1-5 は何を意味しますか?

月曜日から金曜日の 09:00 から 17:59 までの時間帯に、15 分ごと (:00、:15、:30、:45) に実行されます。*/15 は分フィールドのステップ、9-17 は時の範囲、1-5 は月曜日から金曜日までの平日を表します。

cron では、日曜日の曜日は 0 ですか、それとも 7 ですか?

標準 cron では 0 と 7 のどちらも日曜日を意味するため、SUN、0、7 は互換性があります。曜日フィールドは 0 (日曜日) から 6 (土曜日) までで、7 は日曜日のエイリアスとして受け付けられます。

cron は、日と曜日の両方が設定されている場合をどのように扱いますか?

日と曜日のフィールドが両方とも制限されている (どちらも * でない) 場合、標準 cron は OR のセマンティクスを使います。どちらか一方のフィールドが一致すればジョブが実行されます。したがって 0 0 13 * 5 は、毎月 13 日と、毎週金曜日に発火します。