⌘K でツールを切替
TIME

Crontab式エディター

Crontab式を解析して次回実行日時をプレビューします。

local
§01 このツールについて

概要

多くの cron ツールは「式が構文として通るか」を教えてくれます。しかし利用者が 本当に知りたいのはいつ発火するのか、そして意図より頻繁に動いていないかです。

このエディタは5つのフィールドを言葉に読み下したうえで、今後7日間の 1時間あたり発火回数をヒートマップで示します。毎晩1回のつもりだったジョブが 毎時点灯していれば、ログが埋まるずっと前に一目で分かります。

使い方

  1. 式を入力するか、プリセットから始めます。
  2. 5つのフィールドカードを読みます。生のトークン・意味・一致する値の数が出ます。
  3. ヒートマップを確認します。行が日、列が時間で、明るいセルほどその時間の発火が多いことを示します。
  4. 横に並ぶ正確な次回実行時刻と、それぞれが何時間後かを確認します。行をクリックすると ISO 8601 形式でコピーできます。
  5. ヘッダーで自分のゾーンと UTC を切り替えると、サーバーが実際に使う時計で同じスケジュールを読めます。

使用例

  • */15 9-17 * * 1-5 — 平日の業務時間中に15分おき。ヒートマップは月〜金が塊で点灯し、週末が空になります。
  • 0 3 * * * — 毎晩3時。各行にセルが1つだけ点きます。
  • 0 0 13 * 5 — 落とし穴。これは「13日の金曜日」ではなく、毎月13日と毎週金曜日の両方で発火します。両方の日フィールドが制限されている場合は警告を出します。

注意事項

フィールドは 分・時・日・月・曜日 の順です。曜日は 0〜7 を受け付け、0 と 7 は どちらも日曜を意味します。

プレビューは最大2年先まで探索します。2月30日のようにその範囲で一度も発火しない 式は、説明の無い空リストではなく、その旨を明示します。

FAQ
表示される時刻はどのタイムゾーンですか?
選んだ方です。cron 自体にタイムゾーンの概念は無く、実行するホストのローカル時計で発火します。そのためヘッダーで自分のゾーンと UTC を切り替えられるようにしており、スケジュール全体をその時計で読めます。サーバーが UTC で動いていて手元がそうでなければ、この切替がそのまま差になります。
「日」と「曜日」についての警告は何ですか?
POSIX cron はここで直感に反する動きをするためです。両方のフィールドが制限されているとき、cron は「どちらか一方」が一致した時点で発火します。したがって 0 0 13 * 5 は毎月13日と毎週金曜日の両方で動きます。片方が * の場合は通常どおり AND で判定されます。
@daily や曜日名には対応していますか?
はい。@yearly / @annually / @monthly / @weekly / @daily / @midnight / @hourly を展開し、mon-fri や jan のような名前も使えます。@reboot は意図的に拒否しています。起動時に発火するものなので、プレビューすべきスケジュールが存在しないためです。
6フィールドの式はどうなりますか?
それは Quartz や Spring で使われる秒精度の方言で、POSIX cron ではありません。フィールドを読み違えて黙って表示するのではなく、その旨を明示します。