cron式の確認・次回実行時刻

cron式を日本語で読み解き、次に実行される時刻を一覧します。日と曜日の両方を指定したときの挙動も示します。

例:

cron 式を入力してください。例: 30 9 * * 1-5

読み解き

    次に実行される時刻

      お使いの端末の時間帯で計算しています。サーバの時間帯が違う場合は結果もずれます。

      補足

      • 受け付けるのは 分 時 日 月 曜日 の 5フィールドです。 先頭に秒が付く Quartz 形式(6〜7フィールド)は、黙って別の意味に読まずエラーにします ── 解釈を推測すると、表示した「次回実行時刻」がまるごと嘘になります。
      • 日と曜日の両方を * 以外にすると OR になります (POSIX / Vixie cron の挙動)。0 0 1 * 1 は「毎月1日」と「毎週月曜」の どちらでも実行されます。どちらか片方だけを指定した場合は、そのまま絞り込みとして働きます。 */2 のように * で始まる指定は * と同じく「指定なし」側に数えるため、 0 0 */2 * 1 は「奇数日かつ月曜」です。
      • * / 5 / 1-5 / */15 / 9-17/4 / 0,30 と、月・曜日の英字名(JAN, MON など)に対応します。5/20 は「5 から上限まで20おき」です。
      • 曜日の 7 は日曜として扱います(0 と同じ)。 ? は「指定しない」の意味で貼られることが多いため * と同じに扱います。
      • 別名(@yearly / @annually / @monthly / @weekly / @daily / @midnight / @hourly)にも対応しています。
      • 0 0 30 2 * のように実際には来ない日付の場合、探索を打ち切って 「実行される時刻がありません」と表示します。適当な日付を作って埋めることはしません。

      よくある質問

      何フィールドのcron式に対応していますか?

      「分 時 日 月 曜日」の5フィールドです。先頭に秒が付くQuartz形式(6〜7フィールド)は、黙って別の意味に読まずエラーにします。解釈を推測すると、表示する次回実行時刻がまるごと間違いになるためです。

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

      ORになります(POSIX / Vixie cron の挙動)。0 0 1 * 1 は「毎月1日」と「毎週月曜」のどちらでも実行されます。どちらか片方だけを指定した場合は、そのまま絞り込みとして働きます。

      @daily のような別名や、*/15 のような書き方は使えますか?

      使えます。@yearly / @annually / @monthly / @weekly / @daily / @midnight / @hourly の別名と、* / 5 / 1-5 / */15 / 9-17/4 / 0,30 の書き方、月と曜日の英字名(JAN、MON など)に対応します。曜日の7は日曜(0と同じ)、? は * と同じに扱います。

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

      ブラウザのローカル時間です。サーバのタイムゾーンが異なる場合、実際の実行時刻はその分ずれます。0 0 30 2 * のように実際には来ない日付の場合は、適当な日付を作らず「実行される時刻がありません」と表示します。

      ↑↓ 移動 / Enter 開く / Esc 閉じる