Cron Expression Generator

cron式ジェネレーター

cron式ジェネレーターは、分・時・日・月・曜日を入力するだけでcrontabの書式を作れる無料ツールです。作った式の意味を日本語で表示し、次に実行される日時も5件まで確認できます。よく使う設定のプリセットも用意しています。

よく使う設定
0-59
0-23
1-31
1-12
0-7(0,7=日)
0 3 * * *

次に実行される日時(この端末の時刻で計算しています)

    書き方意味
    *その項目のすべての値* * * * *(毎分)
    数値その値のときだけ0 3 * * *(毎日3:00)
    a,b,c列挙したどれか0 9,12,18 * * *
    a-ba から b までの範囲0 9 * * 1-5(平日9:00)
    */nn おき*/10 * * * *(10分おき)
    a-b/n範囲の中で n おき0 9-18/3 * * *
    左から 分・時・日・月・曜日 の5項目です。曜日は 0 と 7 のどちらも日曜を指します。
    「日」と「曜日」の両方を * 以外にすると、どちらか一方に当てはまれば実行されます(OR 条件)。 たとえば 0 0 1 * 1 は「1日」と「月曜」の両方で動きます。片方だけで絞りたいときは、もう片方を * にしてください。

    使い方

    1. 「よく使う設定」から近いものを選ぶと、下の5項目に値が入ります。そこから微調整するのが手早い方法です。
    2. 分・時・日・月・曜日をそれぞれ入力します。書式が正しくない項目は枠が赤くなります。
    3. できあがったcron式と、その意味を日本語にしたものが表示されます。「コピー」でそのまま貼り付けられます。
    4. 「次に実行される日時」で、意図したタイミングになっているかを確認してください。

    cronの書式

    cron(crontab)は、決まった時刻にコマンドを自動実行するための仕組みです。実行タイミングは半角スペースで区切った5つの項目で表します。

    分 時 日 月 曜日 の順です。たとえば 30 9 * * 1-5 なら「月曜から金曜の9時30分」という意味になります。

    •  0〜59
    •  0〜23(24時制。深夜0時は0)
    •  1〜31
    •  1〜12
    • 曜日 0〜7(0と7はどちらも日曜。1が月曜、6が土曜)

    各項目には次の書き方が使えます。

    • * … すべての値。「毎分」「毎時」「毎日」を表します
    • */n … n おき。*/10 なら 0,10,20,30,40,50
    • a-b … a から b までの連続した範囲。1-5 なら平日
    • a,b,c … 列挙したどれか。9,12,18 なら3回
    • a-b/n … 範囲の中で n おき。9-18/3 なら 9,12,15,18

    つまずきやすいところ

    • 「日」と「曜日」を両方指定するとOR条件になります。これが最も間違えやすい点です。0 0 1 * 1 は「1日かつ月曜」ではなく「1日または月曜」で、月に5回前後動きます。片方だけで絞りたいときは、もう片方を必ず * にしてください。
    • 「毎時0分」と「毎分」は違います。0 * * * * は1時間に1回、* * * * * は1分に1回です。*0 の書き間違いは実行回数が60倍変わります。
    • */7 のように割り切れない間隔は等間隔になりません。分に */7 と書くと 0,7,14,21,28,35,42,49,56 で実行され、56分の次は次の時間の0分なので、そこだけ間隔が4分になります。
    • 存在しない日付は実行されません。0 0 31 * * は31日のない月(2月・4月・6月・9月・11月)には動きません。「月末に実行」したい場合、cronの5項目だけでは表せないため、毎日実行してスクリプト側で月末かどうかを判定する方法が使われます。
    • タイムゾーンはサーバーの設定に従います。このツールの「次に実行される日時」は、ご覧の端末の時刻設定で計算しています。サーバーのタイムゾーンが異なる場合は、その差を考慮してください。

    関連ツール

    注意事項

    cron式ジェネレーターは、一般的なcron(Vixie cron系)の5項目書式にもとづいて生成・解釈しています。@reboot などの特殊な指定や、秒を含む6項目の書式、LW# といった拡張記法には対応していません。実際の動作は使用するcron実装とサーバーのタイムゾーン設定に依存しますので、本番へ設定する前に必ずご確認ください。入力した内容はブラウザの中だけで処理され、サーバーには送信されません。無料でご利用いただけます。

    ※このプログラムはPHP8.2.22にて作成、動作確認を行っております。
    ※ご利用下さっている皆様のご意見・ご要望(改善要望)をお寄せください。