Cron式ヘルパー・解析ツール
Cron式を入力するだけで、実行タイミングが日本語でわかります。よく使うプリセットも選べます。バッチ処理のスケジュール設定に。
最終更新:2026年9月9日 / 運営:sesebox(運営者情報)
* = すべて*/5 = 5の倍数ごと1-5 = 1〜5の範囲1,3,5 = 1・3・5のみ曜日:0=日曜〜6=土曜(7も日曜として扱う場合あり)
① このツールの使い方
- •1. Cron式を入力する:「0 9 * * 1-5」のような5つの値がスペース区切りになった文字列を入力します。
- •2. プリセットから選ぶ:「毎日9時」「5分おき」など、よく使う設定はワンタップで試せます。
入力すると同時に、そのCron式がどんなタイミングで実行されるかが日本語の文章に変換されて表示されます。自分で組み立てたCron式が意図通りかを確認したいときや、他人が書いたCron式の意味を読み解きたいときに使えます。
② Cron式の5つのフィールド
Cron式は、スペースで区切られた5つの値で構成されており、左から順に「分・時・日・月・曜日」を表します。
| 位置 | フィールド | 指定できる範囲 |
|---|---|---|
| 1番目 | 分(Minute) | 0〜59 |
| 2番目 | 時(Hour) | 0〜23 |
| 3番目 | 日(Day of Month) | 1〜31 |
| 4番目 | 月(Month) | 1〜12 |
| 5番目 | 曜日(Day of Week) | 0〜7(0と7はどちらも日曜日) |
たとえば「0 9 * * 1-5」であれば、分が0、時が9、日と月が*(すべて)、曜日が1-5(月曜〜金曜)を意味するため、「平日の毎朝9時0分に実行する」というスケジュールになります。
③ 各フィールドで使える記号
- •*(アスタリスク):「すべての値」を意味します。分の欄で*なら「毎分」を意味します。
- •*/n(スラッシュ):「n刻みごと」を意味します。「*/5」は分の欄なら「5分おき」(0, 5, 10, 15…)を意味します。
- •a-b(ハイフン):「aからbまでの範囲」を意味します。曜日の欄で「1-5」なら「月曜から金曜まで」を意味します。
- •a,b,c(カンマ):「複数の値を個別に指定」します。「1,15」なら「1日と15日」のように、飛び飛びの値を指定できます。
これらの記号は組み合わせて使うこともできます。たとえば「0 9-18 * * 1-5」であれば、「平日の9時から18時まで、毎時0分に実行する」という意味になります。
④ */5と0-59/5の違い
「*/5」と「0-59/5」はどちらも「5分ごと」を意味し、実質的に同じ動作をします。「*/5」は「すべての範囲(*)を5刻みで」という省略した書き方、「0-59/5」は「0から59までの範囲を5刻みで」という明示的な書き方です。多くの現場では読みやすさから「*/5」のような省略形が好まれますが、意味としてはどちらも同一です。
⑤ 実務での使いどころ
サーバーの定期バッチ処理(毎日深夜にデータベースをバックアップする、毎時アクセスログを集計するなど)や、CI/CDツールの定期実行設定、クラウドサービス(AWSのEventBridgeやGoogle Cloud Schedulerなど)のスケジュール設定は、多くがCron式で記述します。設定ファイルに書かれたCron式が「本当に意図したタイミングで動くか」を、実際にサーバーへ反映する前にこのツールで日本語に変換して確認しておくと、「うっかり深夜3時のはずが昼3時に設定していた」といったミスを防げます。
⑥ 「日」と「曜日」を両方指定したときの挙動に注意
Cron式でつまずきやすいポイントの1つが、3番目(日)と5番目(曜日)の両方に「*」以外の値を指定した場合の挙動です。多くのCron実装では、日と曜日の両方が具体的に指定されている場合、どちらか一方の条件を満たせば実行される(OR条件)という扱いになります。たとえば「0 0 1 * 1」は「毎月1日の0時0分」と「毎週月曜日の0時0分」の両方の条件で実行されるという意味になり、「毎月1日かつ月曜日のときだけ」という直感的な意味にはなりません。日付と曜日を組み合わせて条件を絞りたい場合は、この仕様を誤解しやすいため、意図通りに動くかを必ずこのツールや実際のテスト環境で確認することをおすすめします。
⑦ タイムゾーンの落とし穴
Cron式そのものには時刻の基準(タイムゾーン)を指定する仕組みがなく、実行されるサーバーやサービスの設定に依存します。海外リージョンのクラウドサーバーではUTC(協定世界時)が基準になっていることが多く、日本時間(JST)で「毎朝9時」のつもりで「0 9 * * *」と設定すると、実際にはUTCの9時=日本時間の18時に実行されてしまう、という典型的な失敗がよく起こります。日本時間で動かしたい場合は、UTCとの時差(9時間)を差し引いた時刻を指定するか、サービス側でタイムゾーンを明示的に日本時間へ設定できないか確認するようにしてください。特にサマータイムを採用している地域のサーバーでは、季節によって時差そのものが変わることもあるため、可能な限りタイムゾーンを明示的に指定できる設定を選ぶことをおすすめします。デプロイ先の環境が変わったときは、必ずこの設定も一緒に確認する習慣をつけておくと、想定外の時刻で処理が動くトラブルを防げます。特に本番環境への移行時は、テスト環境と同じタイムゾーン設定になっているかを二重に確認しておくと、深夜に想定外の処理が走るような事故を未然に防げます。小さな設定の見落としが、深夜のアラート対応につながることも珍しくありません。開発チーム全体でタイムゾーンの扱いについて共通の理解を持っておくことも、こうしたトラブルを未然に防ぐうえで有効です。ドキュメントに前提となるタイムゾーンを明記しておくだけでも、認識のズレをかなり減らせます。些細な確認作業を惜しまないことが、安定した運用につながります。
実行タイミングの日時をUnixタイムスタンプなど別の形式で確認したい場合はUnixタイムスタンプ変換ツールもあわせてご利用ください。
Cron式の5つのフィールドは何ですか?
左から「分(0-59)・時(0-23)・日(1-31)・月(1-12)・曜日(0-7)」の順です。*はすべての値を表します。
*/5 と 0-59/5 の違いは?
どちらも5分ごとを意味しますが、*/5はよりシンプルな書き方です。同じ動作をします。