~/tools / cron-generator
cron式ジェネレータ・解説
フォームで選ぶだけでcrontab用のcron式を生成。逆に既存の式を貼り付ければ日本語の解説と次回実行日時をその場で確認できます。
分 時 日 月 曜日(半角スペース区切り・5フィールド)
日本語で解説
次回実行予定(5回分)
※ 次回実行日時はお使いの端末のローカル時刻で計算しています。実際の実行時刻はサーバー(crontab)のタイムゾーン設定に依存します。
ビルダーで組み立てる
各フィールドの条件を選ぶと、上のcron式に反映されます。
分 (0-59)
時 (0-23)
日 (1-31)
月 (1-12)
曜日 (0-7)
※ ビルダーからの反映は一方通行です(式を直接編集した内容はビルダーに戻りません)。
crontab書式チートシート
┌───────── 分 (0-59) │ ┌─────── 時 (0-23) │ │ ┌───── 日 (1-31) │ │ │ ┌─── 月 (1-12) │ │ │ │ ┌─ 曜日 (0-7, 0と7=日曜) │ │ │ │ │ * * * * * 実行するコマンド
| 記号 | 名前 | 意味 |
|---|---|---|
| * | ワイルドカード | すべての値。「毎分」「毎時」など |
| , | リスト | 複数の値を列挙。「0,30」= 0分と30分 |
| - | 範囲 | 連続した値。「1-5」= 1から5まで |
| / | ステップ | 間隔指定。「*/15」= 15おき |
| 0-7 | 曜日 | 0と7はどちらも日曜。1=月曜 ... 6=土曜 |
よくある質問
曜日の0と7の違いは何ですか?
どちらも日曜日を表します。歴史的経緯で多くのcron実装が両方を受け付けるため、本ツールも0と7を同じ日曜として扱います。1=月曜、2=火曜 ... 6=土曜です。
@daily や @reboot は使えますか?
@daily・@hourly・@reboot などのショートカット記法は cron の実装依存(Vixie cron 系では利用可)のため、本ツールでは標準の5フィールド形式のみ対応しています。@daily は「0 0 * * *」、@hourly は「0 * * * *」に展開できます。
次回実行日時はどのタイムゾーンで計算されますか?
本ツールはお使いの端末(ブラウザ)のローカル時刻で計算します。実際のcronはサーバーのタイムゾーン設定で動くため、サーバーがUTCの場合は日本時間から9時間ずれます。timedatectl などでサーバーのタイムゾーンを必ず確認してください。
「日」と「曜日」を両方指定するとどうなりますか?
標準のcronでは両方が「*以外」のとき、OR条件(どちらかに一致した日に実行)になります。例えば「0 0 13 * 5」は毎月13日と毎週金曜日の両方で実行されます。AND条件にしたい場合はスクリプト側で曜日判定を行うのが定石です。