本文へスキップ
ToolDesk

Cron式パーサ

cron 式(分 時 日 月 曜日)を解析し、次に実行される日時を一覧表示。式の意味も分解して確認。

開発

このツールについて

cron 式は「分 時 日 月 曜日」の 5 つの数字欄で、定期実行のタイミングを表す書き方です。独特で読み違えやすいため、このツールは式を分解し、次に実行される日時の一覧を示して意図どおりか検証できます。解析はブラウザ内で完結し、入力は外部へ送信しません。

5 つのフィールドと使える記号

  • 分(0-59)・時(0-23)・日(1-31)・月(1-12)・曜日(0-7、0 と 7 が日曜)。
  • * … その欄のすべて(毎分・毎時など)。
  • 範囲 1-5、リスト 1,3,5、ステップ */15(15 ごと)を組み合わせられる。

よくある実例

  • */15 * * * * … 15 分おき。
  • 0 9 * * 1-5 … 平日(月〜金)の 9 時ちょうど。
  • 0 0 1 * * … 毎月 1 日の 0 時。
  • 30 3 * * 0 … 毎週日曜の 3 時 30 分。

一番の落とし穴:日と曜日は「OR」

日と曜日を両方とも具体的に指定すると、多くの cron(Vixie cron)は「どちらかに一致すれば実行」という OR で動きます。たとえば 0 0 13 * 5 は「13 日 かつ 金曜」ではなく「13 日 または 毎週金曜」に実行されます。「毎月 13 日の金曜だけ」にはならない点に注意してください。

タイムゾーンのずれに注意

サーバーの cron は通常そのサーバーのタイムゾーン(多くは UTC)で動きます。日本時間のつもりで 0 9 * * * と書いても、サーバーが UTC なら日本の 18 時に動いてしまいます。このツールはお使いの端末のローカル時刻で次回実行を計算するため、本番環境の TZ と違う場合はその差を踏まえて確認してください。

使い方

  1. cron 式(例: 0 9 * * 1-5)を入力します。
  2. 式が「分・時・日・月・曜日」に分解表示されます。
  3. 現在時刻を起点に、次に実行される日時が一覧表示されます。

よくある質問

入力した cron 式は外部に送信されますか?

いいえ。解析と次回実行時刻の計算はすべてブラウザ内で行われ、入力した式が外部サーバーへ送信されることはありません。

次回実行時刻はどのタイムゾーンで表示されますか?

お使いの端末のローカル時刻(ブラウザのタイムゾーン)で計算・表示されます。サーバー上の cron はサーバーのタイムゾーンで動作するため、環境が異なる場合は時差を考慮してご確認ください。

「日」と「曜日」を両方指定するとどうなりますか?

一般的な cron(Vixie cron)の仕様にならい、両方を具体的に指定した場合は「日または曜日のどちらかに一致すれば実行」という OR 条件で計算します。片方が * の場合はもう片方の条件に従います。

曜日の数字はどう対応していますか?

0 が日曜、1 が月曜…6 が土曜です。7 も日曜として扱われるため、0 と 7 のどちらでも日曜を指定できます。

秒フィールドや @daily などの書き方は使えますか?

本ツールは標準的な 5 フィールド(分 時 日 月 曜日)の cron 式を対象としています。先頭に秒を加えた 6 フィールド形式や、@daily・@hourly といった特殊なショートカット記法には対応していません。

ステップ(*/15)や範囲(1-5)は使えますか?

はい。ワイルドカード(*)、範囲(1-5)、リスト(1,3,5)、ステップ(*/15 や 1-30/5)を各フィールドで組み合わせて指定できます。解釈結果はフィールドごとに分解して確認できます。