⏰ cron式ビルダー

定期実行のスケジュール(cron式)を、手打ちせずGUIで組み立てます。「分・時・日・月・曜日」の5フィールドをプリセットや「毎/間隔/指定/範囲」から選ぶと、cron式・日本語での実行タイミング説明・直近5回の実行予定をその場で表示します。計算はすべてブラウザ内で完結します。

入力

近いものを選ぶと下の各フィールドに初期値が入ります。あとから自由に調整できます。

各フィールドの指定

cron式

— — — — —

フィールドと書き方の早見

書き方: *=毎回/*/N=Nおき/a-b=範囲/a,b=複数指定。曜日は 0・7 がどちらも日曜です。

解説

cron(クーロン)は、UNIX系サーバーで「決まった時刻・周期にコマンドを自動実行する」ための仕組みで、その予定を1行で表したものがcron式です。本ツールは、この式を手打ちせずGUIで組み立てられるようにしたものです。プリセットを選ぶか、5つのフィールドをドロップダウンと数値で指定すると、cron式・日本語の説明・直近の実行予定を同時に確認できます。すべてブラウザ内で計算し、入力内容はどこにも送信しません。

標準的なcron式は「分 時 日 月 曜日」の5フィールドをスペース区切りで並べます。取り得る値は、分=0〜59、時=0〜23、日=1〜31、月=1〜12、曜日=0〜7(0と7が日曜、1が月曜〜6が土曜)です。例えば「0 9 * * 1-5」は、日と月は問わず、曜日が月〜金、時が9、分が0――つまり『平日の9:00』を意味します。本ツールはこの読み解きを自動で日本語にして表示します。

各フィールドには4通りの書き方があります。「*」はそのフィールドの全ての値(=毎回)を表します。「*/N」はNおき(例: 分の*/5は5分ごと)。「a-b」はaからbまでの範囲(例: 曜日の1-5は月〜金)。「a,b,c」はカンマ区切りの複数指定(例: 分の0,30は毎時0分と30分)です。本ツールのモード切り替えは、この4つの書き方にそのまま対応しています。

注意点として、日(日付)と曜日の両方を「*以外」に指定すると、多くのcron実装では『どちらかに一致すれば実行』(OR条件)として扱われます。例えば「0 0 1 * 1」は『毎月1日、かつ毎週月曜』ではなく『毎月1日、または毎週月曜』です。意図と食い違いやすい代表的な落とし穴なので、本ツールでは両方を指定したときに注記を出し、直近の実行予定にもOR条件を反映して表示します。実運用ではサーバーの時刻(タイムゾーン)に依存する点にも注意してください。

よくある質問

cron式の5つのフィールドは何を表しますか?

左から順に「分・時・日・月・曜日」です。取り得る値は分=0〜59、時=0〜23、日=1〜31、月=1〜12、曜日=0〜7です。この5つをスペースで区切って1行に並べたものがcron式で、全て一致した瞬間にジョブが実行されます。秒フィールドは標準のcronにはありません。

「*」「*/N」「a-b」「a,b」の違いは何ですか?

「*」はそのフィールドの全ての値(毎回)を意味します。「*/N」はNおき(分の*/5=5分ごと)。「a-b」はaからbまでの連続範囲(曜日の1-5=月〜金)。「a,b,c」はカンマ区切りの複数の値(分の0,30=0分と30分)です。本ツールのモードはこの4つに対応しています。

曜日の数字はどう対応していますか?0と7の違いは?

0=日曜、1=月曜、2=火曜、3=水曜、4=木曜、5=金曜、6=土曜です。日曜は0と7のどちらでも表せます(7は歴史的な互換のための別名)。そのため「毎週日曜」は 0 でも 7 でも同じ意味になります。本ツールでも7を日曜として扱います。

「毎日9時」はどう書きますか?

「0 9 * * *」です。分=0、時=9、日・月・曜日は*(毎回)。9時ちょうど(9:00)に毎日実行されます。9時台に何度も動かしたい場合、例えば9時0分と9時30分なら分を0,30にして「0,30 9 * * *」、9時台を10分おきなら「*/10 9 * * *」となります。

日付と曜日を両方指定すると、なぜ意図とずれるのですか?

多くのcron実装では、日(日付)と曜日をどちらも「*以外」にすると『AND(両方一致)』ではなく『OR(どちらか一致)』で判定されるためです。「0 0 1 * 1」は毎月1日かつ月曜ではなく、毎月1日または毎週月曜に実行されます。片方だけを指定するのが安全です。本ツールは両方指定時に注記します。

直近5回の実行予定はどの時刻を基準にしていますか?

この計算はお使いの端末(ブラウザ)の現在時刻とタイムゾーンを基準にした概算です。実際のサーバーはサーバー側の時刻・タイムゾーンでcronを動かすため、本番の実行時刻と数時間ずれることがあります。あくまで式の意味を確認するための目安としてお使いください。

よくある間違いや使いどころを教えてください。

よくある誤りは、5分ごとのつもりで「5 * * * *」(毎時5分の1回だけ)と書いてしまう例で、正しくは「*/5 * * * *」です。また分を*にすると毎分実行になり負荷が高いので、周期実行では必ず分を絞ります。使いどころはバックアップ、ログ集計、メール送信、キャッシュ削除など、時刻や周期が決まった定型処理の自動化です。

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

送られません。cron式の生成・日本語説明・次回実行予定の計算はすべてブラウザ内で完結し、入力はどこにも送信されません。オフラインでも利用できます。