よく使うプリセット
フィールドごとのビルダー
このツールについて
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 日と、毎週金曜日に発火します。