cron 式ジェネレーター&解説

クリック操作で crontab のスケジュールを作成、または既存の式を貼り付け。わかりやすい解説、フィールドごとの検証、あなたのタイムゾーンでの次回 10 回分の実行日時が得られます。

ブラウザ内で動作登録不要アップロードなし

分時日月曜日

ビジュアルビルダー

次回以降の実行 10 件

    cron 式ジェネレーターの使い方

    1. */15 * * * * のような cron 式を入力するか、プリセットをクリックします。
    2. 表示される解説を読み、意図どおりの動作か確認します。不正なフィールドは理由とともにハイライトされます。
    3. ビジュアルビルダーのタブで、分・時・日・月・曜日を毎回、N ごと、指定値、範囲で設定します。
    4. 次回 10 回分の実行日時を確認し、サーバーのタイムゾーンが自分と異なる場合はそれを選択します。
    5. 式をコピーして crontab、Kubernetes CronJob、GitHub Actions の schedule、CI の設定に貼り付けます。

    1 分でわかる cron の書き方

    標準的な cron 式は、スペースで区切った 5 つのフィールドで構成されます。

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    記号意味例
    *すべての値* * * * * 毎分
    ,リスト0 9,17 * * * 09:00 と 17:00
    -範囲0 9 * * 1-5 平日の 09:00
    /ステップ*/10 * * * * 10 分ごと
    @dailyマクロ0 0 * * * と同じ。ほかに @hourly、@weekly、@monthly、@yearly、@reboot

    「日」と「曜日」の落とし穴

    日と曜日の両方を指定した場合(どちらも * で始まらない場合)、cron はどちらか一方に一致すれば実行します。そのため 0 0 13 * 5 は「13 日の金曜日」だけでなく、毎月 13 日と毎週金曜日に実行されます。このジェネレーターは Vixie cron のこのルールに従い、気づけるよう解説に「または」と表示します。

    タイムゾーンと夏時間

    cron は、特に設定しない限りサーバーのローカルタイムゾーンを使います(一部の cron では CRON_TZ=、Kubernetes CronJob では timeZone で指定。GitHub Actions は常に UTC)。実行プレビューではそのタイムゾーンを選んでください。夏時間の切り替えで存在しない時刻(たとえば春の切り替え日の 02:30)に予定されたジョブは、その現地時刻が存在しないためプレビューでスキップされます。

    よく使うスケジュール

    • */5 * * * *:5 分ごと
    • 0 */2 * * *:2 時間ごと(毎正時)
    • 0 9 * * 1-5:平日の 09:00
    • 0 0 1 * *:毎月 1 日の 0 時
    • 0 3 * * 0:毎週日曜日の 03:00(典型的なバックアップ時間帯)

    よくある質問

    cron ジョブを 5 分ごとに実行するには?
    */5 * * * * を使います。分フィールドのステップ /5 は、0 から始まる 5 分おき(00、05、10…)を意味します。
    cron で秒は指定できますか?
    標準の crontab ではできません。最小単位は 1 分です。Quartz や Spring、一部のクラウドスケジューラーは秒フィールドを追加しています(6 または 7 フィールド)。このツールは標準の 5 フィールド形式を検証し、6 フィールドの式を見つけるとお知らせします。
    日曜日は 0 と 7 のどちらですか?
    どちらも日曜日です。曜日フィールドでは 0 も 7 も日曜日を表し、SUN や MON-FRI のような名前でも書けます。
    ジョブが想定より多くの日に実行されるのはなぜですか?
    日と曜日の両方を指定すると、cron はどちらかに一致したときに実行します。片方だけを条件にしたい場合は、もう一方を * にしてください。
    次回実行日時はどのタイムゾーンで表示されますか?
    デフォルトではブラウザのタイムゾーンです。一覧からサーバーのタイムゾーン(多くは UTC)を選ぶと、そこで実際にジョブが実行される日時を確認できます。

    関連ツール