本文へスキップ

cron式の組み立て

Cron Builder

cron式を、許容範囲が添えられた入力欄にフィールドごとに打ち込んで組み立て、変えるたびに出来上がるスケジュールを見せます。

cron式をフィールドごとに組み立てます。それぞれのフィールドの範囲と意味が横に出て、次の実行が入力に合わせて更新されます。フィールドを編集できるようにした、読み解きのツールと同じ画面です。組み立てることと読むことは、同じ問題を2つの方向から見たものだからです。

🔒 ブラウザの中だけで動きますcronschedulegenerator

式

欄は五つ、または先頭に秒を足した六つです。`@daily` や `@hourly` などの表記も使えます。

言葉にすると

月曜日から金曜日まで09:00に実行します。

欄ごとに組み立てる

cron の欄ごとに1行。
欄値意味
分0-590分`*/15` は15分ごと、`15` は毎時15分です。
時0-239時常に24時間制で、スケジューラーが別に定めないかぎりサーバーのタイムゾーンです。
日1-31毎日`L` は最終日です。31 は日数の少ない月にはそのまま実行されません。
月1-12 または JAN-DEC毎月名前は大文字小文字を区別しません。
曜日0-7 または SUN-SAT月曜日から金曜日まで0 も 7 も日曜です。`5#3` は第3金曜、`5L` は最後の金曜です。

次の実行

件数
この予定は今後5年のあいだ一度も実行されません。2月30日のような日付は巡ってきません。

タイムゾーン

UTC

ブラウザではなく、上で選んだタイムゾーンで計算します。夏時間が飛ばす壁時計の時刻は、ここでも飛ばします。

使い方

  1. プリセットから始めます

    毎時、毎日3時、平日の9時、毎月1日、月の最終日。ほとんどのスケジュールは、このどれかから1回の編集で届きます。

  2. 必要なフィールドを編集します

    フィールドごとに専用の欄があり、名前の下に許される範囲が出ます。上にある普通の言葉での1文は、入力に合わせて自分を書き換えます。

  3. 次の実行と突き合わせて確かめます

    自分のではなく、スケジューラが使うタイムゾーンで見ます。正しそうに見えるのに違う時刻に走るスケジュールは、ほとんど常にフィールドの間違いではなくタイムゾーンです。

よくある質問

90分ごとに実行するにはどうすればいいですか

1つの式ではできません。cronのフィールドは互いに独立しているので、分の`*/90`は不正ですし、1時間を割り切らない周期を表す方法はありません。式を2つ書くか、間隔を指定できるスケジューラを使うのが答えです。

秒のフィールドを足すべきですか

スケジューラが6つのフィールドを求めるときだけです。QuartzとSpringは求めますが、Unixのcronは求めませんし、そうした式は拒否します。ここのボタンで足したり外したりできるので、同じスケジュールの2つの書き方を見比べられます。

31が2月に実行されないのはなぜですか

2月31日が存在しないからです。cronは月末に丸めるようなことはせず、単に一致しません。`L`が「月の最終日」を意味する拡張で、スケジューラが対応していれば使えます。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。