CronFlow
cron 式を書いて、平易な言葉で読み返し、どのタイムゾーンでいつ発火するかを正確に確認し、crontab の行やワークフロー、マニフェストをそのまま持ち帰れます。
5分ごと
時計を読み込み中…
置き先で本当に動きますか?
同じ5つのフィールドでも、スケジューラによって意味が変わります。この式を拒否する、あるいは黙って別の意味に解釈するものを挙げました。
書いたとおりに動きます。
書いたとおりに動きます。
- 常に UTC で実行され、上のタイムゾーンは無視されます。
- スケジュール実行はキューに入り、負荷が高いとかなり遅れて始まることがあります。
- 6/7 フィールドが必要です(5 ではありません)。
- 6 フィールドが必要です(5 ではありません)。
- 6 フィールドが必要です(5 ではありません)。
書いたとおりに動きます。
書いたとおりに動きます。
持ち帰る
式そのものが成果物になることはまれです。実際に貼り付けるファイルはこちらです。
# ┌───────────── minute (0-59) # │ ┌─────────── hour (0-23) # │ │ ┌───────── day of month (1-31) # │ │ │ ┌─────── month (1-12) # │ │ │ │ ┌───── day of week (0-6, Sunday = 0) # │ │ │ │ │ */5 * * * * /usr/local/bin/my-job.sh
使い方
書くか、クリックで組み立てる
式を入力してもいいし、グリッドで分・時・日を選んで構文にはいっさい触れなくてもかまいません。
本当に必要なタイムゾーンを選ぶ
crontab はサーバーのゾーンで動きます。あなたのゾーンではありません。指定すればページ上の時刻がすべて追随します。
読み返して日付を確かめる
母語の一文、次回と前回の実行、そしてスケジュールの形が見えるカレンダー。
必要だったファイルを持ち帰る
crontab の1行、GitHub Actions のブロック、Kubernetes の CronJob、systemd のタイマー、EventBridge のルールなど。
サマータイム込みの全タイムゾーン
実行は壁時計の時刻で計算してからゾーンごとに変換するので、サマータイムが足したり消したりする1時間も、黙って誤報せずきちんと扱われます。
構文ではなくグリッド
分・時・日・月・曜日をそのまま選ぶだけ。範囲は Shift+クリック。式は自動で書かれます。
リストではなくカレンダー
月のヒートマップと時間帯のヒストグラムがスケジュールの形を見せます。5件の日時を並べただけでは絶対に伝わらない情報です。
実用的な7種の書き出し
crontab、GitHub Actions、Kubernetes CronJob、systemd OnCalendar、AWS EventBridge、node-cron、Spring。入力したコマンド入りで生成します。
互換性チェック付き
Quartz は「?」が必須、GitHub Actions はタイムゾーンを無視、EventBridge は日曜を1と数える。出す前に分かります。
タブの外には出ない
パーサーもスケジューラも書き出しも、すべてブラウザ内で動きます。API もアップロードもアカウントも不要です。
CronFlow
CronFlow は5フィールドの標準 crontab 構文に加え、6・7フィールドの Quartz、@daily 系、@every 間隔、Jenkins の H、そして L・W・# トークンを解釈します。式を母語で読み返し、任意の IANA タイムゾーンで次回と前回の実行を表示し、スケジューラが求めるファイルへ変換します。
推測ではなく計算
スケジューラは市民時間をたどり、一致するたびにブラウザ自身のタイムゾーンデータベースで時刻へ変換します。だから時計が変わる夜の02:30のジョブも、実際の挙動どおりに表示されます。
引き継いだ crontab のために
サーバーのファイルを貼り付けると、各行がスケジュール・ユーザー・コマンドに分解され、平易な言葉で説明されます。壊れた行には印が付き、CRON_TZ も自動で拾います。ボタンを押すまで何も解析されません。
このページの裏に API はありません。パーサーも実行時刻の探索もタイムゾーン変換も書き出しも、すべてタブ内で動く JavaScript です。本番サーバーの crontab がどこかへ送られることはありません。
よくある質問
Qデータはサーバーに送信されますか?+
いいえ。パーサー、実行時刻の探索、すべての書き出しはブラウザ内で動きます。ここに貼った crontab がタブの外へ出ることはありません。
Q対応している cron 構文は?+
5フィールドの標準 crontab、秒付き6フィールド、年付き7フィールドの Quartz。範囲・リスト・刻み幅・JAN や MON のような別名。@yearly、@monthly、@weekly、@daily、@midnight、@hourly の短縮形と @every 間隔。Quartz の L、LW、L-3、15W、FRI#3、?、そして Jenkins の H トークン。
Qなぜタイムゾーンを聞かれるのですか?+
cron ジョブはマシンのゾーン、たいていは UTC で動き、あなたのゾーンであることはまずないからです。ここを取り違えるのが、想定外の時刻に発火する最も多い原因です。サーバーのゾーンを選べば、ページ上の時刻がすべてそれに従います。
Q時計が変わる夜はどうなりますか?+
その日に存在しない壁時計の時刻を持つ実行には印が付き、実際に存在する次の時刻が表示されます。実在のスケジューラも見解が割れる箇所なので、唯一の正解があるふりをせず明示しています。
Q日と曜日のフィールドの挙動が変に見えるのはなぜ?+
両方がアスタリスク以外のとき、古典的な cron はどちらか一方が一致した時点で実行します。両方ではありません。「0 0 1 * MON」は1日にも毎週月曜にも走ります。本ツールはこの規則を適用し、警告も出します。
QKubernetes や GitHub Actions のスニペットは出せますか?+
はい。書き出しパネルが crontab の1行、GitHub Actions の schedule ブロック、Kubernetes CronJob、systemd のタイマーとサービス、AWS EventBridge 式、node-cron の呼び出し、Spring の @Scheduled 注釈を、入力したジョブ名とコマンド入りで生成します。
Qcron 構文を一切書かずに使えますか?+
はい。ビルダータブに各フィールドのクリック可能なグリッドがあります。分・時・日・月・曜日を選べば式は自動で書かれます。