cron式の解説・作成ツール

crontabのスケジュールを入力または貼り付けると、いつ実行されるかを分かりやすい日本語で表示し、次の実行日時も正確に一覧にします。よく使うスケジュールから項目ごとに作ることもできます。Linuxのcron、KubernetesのCronJob、GitHub Actionsなど多くのスケジューラーに対応しています。

無料・登録不要

0–59 * , - /
0–23 * , - /
1–31 * , - / ?
1–12 または JAN–DEC
0–7 または SUN–SAT(0と7は日曜日)

次の実行日時

    よく使うスケジュール

    cron式を入力するか、よく使うスケジュールを選んでください。

    使い方

    1. 入力欄にcron式を入力または貼り付けるか、よく使うスケジュールをクリックします。
    2. 入力欄の下に、スケジュールが日本語で表示されます。間違いがあれば項目ごとにすぐ説明されます。
    3. 次の10回の実行日時を確認します。お使いのタイムゾーンで表示されます。UTCで動くサーバーと比べるときは「UTCで表示」にチェックを入れます。
    4. 式の下の入力欄で項目ごとに調整します。入力に合わせて式も更新されます。
    5. 式をcrontabにコピーするか、リンクをコピーしてチームとスケジュールを共有します。

    このツールの特長

    分かりやすい日本語で解説

    どの式も「毎週月曜日〜金曜日、09:30」のような分かりやすい文に変換されます。

    次の10回の実行日時

    次にいつ実行されるかを、ローカル時間またはUTCで、あとどれくらいかと一緒に確認できます。

    項目ごとの作成ツール

    分・時・日・月・曜日を別々の入力欄で編集でき、それぞれ使える値が横に表示されます。

    分かりやすいエラー表示

    範囲外の値、逆向きの範囲、項目数の間違い、Quartz独自の書き方を項目ごとに指摘します。

    秒と省略形にも対応

    秒付きの6項目の式、MON-FRIやJANなどの名前、@dailyや@rebootなどの省略形に対応しています。

    共有できるリンク

    式を入れた状態でページが開くリンクをコピーでき、コードレビューやチケットに便利です。

    cronの書き方早見表

    標準のcron式は、スペースで区切った5つの項目でできています。現在時刻がすべての項目に一致したときにジョブが実行されます。*は「すべての値」を意味します。

    項目使える値例意味
    分0–593030分に
    時0–239午前9時に
    日1–3111日に
    月1–12 または JAN–DEC*毎月
    曜日0–7 または SUN–SAT1-5月曜日〜金曜日

    特殊文字

    文字意味例
    *すべての値時の項目に*:毎時
    ,値の列挙0,30:0分と30分
    -値の範囲1-5:月曜日〜金曜日
    /間隔*/15:15分ごと
    @daily省略形0 0 * * * と同じ

    よく使うcronの例

    式実行タイミング
    */5 * * * *5分ごと
    0 * * * *毎時0分
    0 0 * * *毎日0時
    30 2 * * 0毎週日曜日の2:30
    0 9 * * 1-5平日の9:00
    0 0 1 * *毎月1日の0時
    0 */6 * * *6時間ごと(0:00、6:00、12:00、18:00)
    15 3 * * 1毎週月曜日の3:15

    よくある落とし穴

    • タイムゾーン:cronはサーバーのタイムゾーンを使い、多くはUTCです。日本時間で動かしたいのにUTCのままだと9時間ずれます。KubernetesのCronJobやGitHub Actionsも指定しなければUTCです。
    • 日と曜日の同時指定:0 0 1 * 1は「毎月1日」と「毎週月曜日」の両方で実行されます。1日が月曜日のときだけではありません。
    • 分の項目の*/7は毎時リセットされます。0、7、…、56分の次はまた0分なので、間隔が4分になります。
    • 夏時間:夏時間のある地域では、切り替えの夜に2:00〜3:00のジョブが飛ばされたり2回実行されたりします。
    • crontabの行では%に特別な意味があるため、コマンド内では\%と書く必要があります。

    よくある質問

    cron式とは何ですか?

    分・時・日・月・曜日の5項目でできた短いスケジュールです。LinuxやmacOSのcron、KubernetesのCronJob、GitHub Actionsなど多くのスケジューラーが、ジョブをいつ実行するかを決めるのに使います。

    crontab.guruと同じですか?

    いいえ。同じような目的の、独立した無料ツールです。さらに次の実行日時をローカル時間やUTCで表示し、秒にも対応し、項目ごとの作成ツールを6言語で提供しています。

    5分ごとにcronジョブを実行するには?

    */5 * * * *を使います。分の項目の*/5は、0分から始めて5分ごとという意味です。

    平日だけ実行するには?

    曜日の項目に1-5を入れます。例えば0 9 * * 1-5なら月曜日〜金曜日の9:00です。MON-FRIと書くこともできます。

    日曜日は0ですか、7ですか?

    どちらも日曜日です。標準のcronでは0と7が日曜日、1が月曜日です。Quartzなど一部のシステムは数え方が違い、1が日曜日です。

    月末に実行するには?

    標準のcronには月末を表す記号がありません。一部のツールのLはQuartzの拡張です。よく使われる方法は0 0 28-31 * *にして、コマンド側で [ "$(date -d tomorrow +\%d)" = "01" ] && コマンド のように翌日が1日かを確認することです。

    実行日時はどのタイムゾーンで表示されますか?

    初期設定ではお使いの端末のタイムゾーンです。「UTCで表示」にチェックを入れると、多くのサーバー、コンテナ、クラウドのスケジューラーが使うUTCで表示されます。

    秒には対応していますか?

    はい。秒フィールドをオンにするか6項目で入力すると、QuartzやSpringと同じように最初の項目が秒として扱われます。標準のLinuxのcronは秒に対応していません。

    関連ツール

    作りたいものがありますか?

    作りたい内容を教えてください。

    シンプルなWebサイトから本格的なアプリ、AIソリューション、自動化、カスタムシステムまで、作りたいものをお聞かせください。

    作りたいものをお聞かせください。すべてのお問い合わせを確認し、メールで返信します。

    お問い合わせ

    お問い合わせを受け付けました。

    内容を確認し、メールで返信します。