cron式の説明
cron式(分・時・日・月・曜の5フィールド)を入力すると、いつ実行されるのかを日本語で説明し、各フィールドの内容も解説します。
入力
分 時 日 月 曜 の順にスペース区切りで入力します(例: */15 9-18 * * 1-5)。
この cron 式の意味
—
各フィールドの解説
次回の実行予定(目安)
※ 標準的な5フィールド cron(Vixie cron 系)を想定しています。曜日は 0 と 7 がどちらも日曜です。@daily などのニックネームや、秒フィールドのある6フィールド形式には対応していません。
解説
cron(クーロン)は、コマンドやジョブを決まった時刻・間隔で定期実行するための仕組みで、その実行タイミングを表す文字列が cron式(crontab の式)です。本ツールは cron式を入力すると、人間が読める日本語の説明文と、各フィールドごとの解説に変換します。式の意味を確認したいとき、レビューやドキュメント作成のときに便利です。
cron式は、左から「分(0〜59)/時(0〜23)/日(1〜31)/月(1〜12)/曜日(0〜7、0と7が日曜)」の5つのフィールドを半角スペースで区切って書きます。各フィールドは順番が決まっており、本ツールは5つそろっていない場合や範囲外の値をエラーとして案内します。
cronの書き方(各フィールドで使える記法)は、* (すべて)、*/n (n間隔のステップ。例: 分の */15 は0・15・30・45分)、a/n (a からそのフィールドの最大値まで n 間隔)、a-b (範囲。例: 1-5)、a,b (列挙。例: 1,15)、および a-b/n や a-b,c のようなそれらの組み合わせです。
具体例として、0 9 * * 1-5 は「平日(月〜金)の 9:00 に実行されます。」、*/15 * * * * は「15分ごと 実行されます。」、0 0 1 * * は「1日の 0:00 に実行されます。」と表示されます。曜日の 1-5 は「平日(月〜金)」、0,6 は「土日」とまとめて表現します。
cron仕様上の重要な注意点として、日(3番目)と曜日(5番目)の両方を具体指定した場合は「どちらかに一致した日」(OR)になります。本ツールも 0 0 1 * 1 を「1日、または 月曜の 0:00」のように、OR として説明します。曜日の 0 と 7 はどちらも日曜として扱います。
本ツールは数値ベースの記法のみに対応します。JAN・MON のような月名/曜日名の略記、@daily・@reboot などの特殊文字列、L・W・# といった拡張記法(一部のcron実装やQuartzで使える)には対応していません。これらを使う場合は、実行環境のドキュメントを併せて確認してください。
よくある質問
cron式の書き方(フィールドの順番)は?
左から「分・時・日・月・曜日」の5フィールドを半角スペースで区切ります。例えば 0 9 * * 1-5 は分=0、時=9、日=*、月=*、曜日=1-5(月〜金)を意味し、「平日の9:00」になります。
「*/15」や「*/5」はどういう意味ですか?
n間隔のステップ指定です。分フィールドの */15 は0・15・30・45分(=15分ごと)、*/5 は0・5・10…(5分ごと)を表します。
毎日9時に実行するcron式は?
0 9 * * * です。分=0、時=9、日・月・曜日をすべて *(毎日)にすると「毎日の 9:00 に実行されます」になります。
曜日の 0 と 7 はどちらも日曜ですか?
はい。一般的なcronと同じく、曜日フィールドは0〜7で、0と7のどちらも日曜として扱います。
@daily や JAN のような書き方は使えますか?
本ツールは数値ベースの記法(* */n a-b a,b とその組み合わせ)のみ対応です。@daily などの特殊文字列や月名・曜日名の略記、L/W/# 等の拡張記法には対応していません。
日と曜日を両方指定するとどうなりますか?
cronの仕様に従い「どちらかに一致した日」(OR)として説明します。例えば「1日、または 月曜」のように表示されます。