cron式 作成

cron式は分、時、日、月、曜日の5つのフィールドでできています。「0 9 * * 1-5」は「月曜日〜金曜日 09:00」、「*/15 * * * *」は「15分ごと」という意味です。

曜日
意味

次の5回の実行

    問題は解決しましたか?
    Googleで優先表示

    使い方

    1. 上の欄にcron式を入力するか、プリセットを選ぶか、5つのフィールドを1つずつ埋めます。上の欄と各フィールドは連動します。
    2. 曜日ボタンを押せば、数字を打たずに曜日を選べます。
    3. 「意味」に表示される説明を読み、次の5回の実行時刻を確認します。サーバーに合わせてローカル時刻とUTCを切り替えられます。
    4. 「式をコピー」でcrontab、CIのスケジュール、ジョブスケジューラーに貼り付ける式をコピーします。

    計算方法

    標準のcron式はスペースで区切った5つのフィールドからなります。分(0-59)、時(0-23)、日(1-31)、月(1-12またはJAN-DEC)、曜日(0-6またはSUN-SAT。0と7はどちらも日曜)です。

    各フィールドには、すべての値を表す*、1,15のようなリスト、9-17のような範囲、*/5(5つおき)や10-30/5のようなステップが書けます。月と曜日は英語名も使え、@hourly、@daily、@weekly、@monthly、@yearlyのマクロは5フィールドの形に展開されます。

    「0 0 13 * 5」のように日と曜日の両方を指定すると、cronはどちらか一方が当てはまる日に実行します。この例は毎月13日と毎週金曜日に動きます。どちらかが*で始まる場合は、両方に当てはまる日だけです。

    次の実行時刻は、月と日の条件に合う日を1日ずつ先へ探し、その日の該当する時と分を並べて求めます。2月31日のように決して当てはまらないスケジュールでは何も表示されません。サマータイムの切り替えで存在しないローカル時刻は飛ばします。

    よく使うスケジュール

    式意味
    * * * * *毎分
    */5 * * * *5分ごと
    0 * * * *毎時0分
    0 0 * * *毎日0時
    0 9 * * 1-5平日の9:00
    30 8 * * 1毎週月曜の8:30
    0 0 1 * *毎月1日
    0 0 1 1 *毎年1月1日

    よくある質問

    cronの */5 はどういう意味?

    ステップです。分のフィールドなら5分ごと、つまり0、5、10と55まで進みます。フィールドの最初の値から数えるので、時のフィールドの */5 は0時、5時、10時、15時、20時です。

    平日の朝9時に実行するには?

    0 9 * * 1-5 と書きます。0分、9時、日は指定なし、月も指定なし、曜日は月曜から金曜です。

    思ったより多くの日に実行されるのはなぜ?

    日と曜日の両方を指定すると、cronはどちらかに当てはまる日に実行します。第1月曜日だけに動かしたいときは標準のcronでは表せないので、ジョブの中のスクリプトで日付を判定してください。

    cronはどのタイムゾーンで動きますか?

    実行するマシンやサービスのタイムゾーンです。クラウドのスケジューラーはUTCのことが多いので、ローカルとUTCのボタンで両方を確認してください。

    6フィールドや7フィールド、L や # 記号には対応していますか?

    対応していません。このツールはcrontab、GitHub Actions、多くのLinuxスケジューラーで使う標準の5フィールド形式を扱います。秒や年、? L W # などの記号を加えるQuartzやAWSの形式は対象外です。

    入力内容はサーバーに送られますか?

    いいえ。解析も説明文も実行時刻もすべてブラウザ内で計算します。