cron式の読み解き
Cron Parser
cron式を普通の言葉に開いて説明し、選んだタイムゾーンでの次の実行時刻を並べます。
cron式を読んで、いつ実行されるのかを普通の言葉で述べ、選んだタイムゾーンでの次の実行を並べます。5つのフィールドでも、秒を含む6つでも、`@daily`の仲間でも、月末を表す`L`でも、第3金曜を表す`5#3`でも構いません。
式
欄は五つ、または先頭に秒を足した六つです。`@daily` や `@hourly` などの表記も使えます。
言葉にすると
月曜日から金曜日まで9時から17時まで15分ごとに実行します。
欄ごとに見る
| 欄 | 値 | 意味 |
|---|---|---|
| 分0-59 | 15分ごと`*/15` は15分ごと、`15` は毎時15分です。 | |
| 時0-23 | 9時から17時まで常に24時間制で、スケジューラーが別に定めないかぎりサーバーのタイムゾーンです。 | |
| 日1-31 | 毎日`L` は最終日です。31 は日数の少ない月にはそのまま実行されません。 | |
| 月1-12 または JAN-DEC | 毎月名前は大文字小文字を区別しません。 | |
| 曜日0-7 または SUN-SAT | 月曜日から金曜日まで0 も 7 も日曜です。`5#3` は第3金曜、`5L` は最後の金曜です。 |
次の実行
タイムゾーン
UTC
ブラウザではなく、上で選んだタイムゾーンで計算します。夏時間が飛ばす壁時計の時刻は、ここでも飛ばします。
使い方
式を貼り付けます
1文で説明し、フィールドごとに範囲と、その値がそのフィールドにとって何を意味するのかを分けて示します。
タイムゾーンを設定します
cronを確かめる目的は、まさにここにあります。スケジューラはサーバーのタイムゾーンで動きますが、それはたいていUTCで、自分のものであることはめったにありません。次の実行の一覧は、ブラウザのタイムゾーンではなく、選んだタイムゾーンで計算します。
次の実行を読みます
曜日と、それぞれの間隔とともに出ます。1日空くはずのところで実行が1時間しか離れていなければ、フィールドの置き場所を間違えたことに、いちばん早く気づけます。
よくある質問
`0 0 * * 1`が1日に実行されないのはなぜですか
5つ目のフィールドは曜日であって、日ではないからです。`1`は月曜日です。日は3つ目のフィールドです。5つ目では`0`も`7`も日曜日を意味します。
夏時間の切り替えのあいだ、ジョブはどうなりますか
時計が飛ばす壁時計の時刻は存在しないので、この一覧もそれを飛ばします。繰り返される時刻は、スケジューラによっては2回実行されることがあります。夏時間のあるタイムゾーンで`0 2 * * *`が選んではいけない時刻である理由が、それです。
日と曜日はANDで組み合わさりますか、それともORですか
どちらも制限されているときはORです。Vixie cronの癖で、直そうとするあらゆる試みより長く生き延びてきました。`0 0 1 * 1`は、1日*と*毎週月曜に実行されるのであって、1日にあたる月曜に実行されるのではありません。ここの説明は、当てはまるときにそれを明示します。
どのスケジューラでも`L`と`#`は使えますか
使えません。Quartzの拡張で、Quartz、Spring、いくつかのクラウドのスケジューラでは使えますが、素のUnixのcronにはありません。秒のフィールドも同じ話です。どちらかに頼る前に、使っているスケジューラを確かめてください。
ここから渡せます
正規表現テスター
Regex Tester
正規表現をサンプルの文章に当て、一致箇所をその場で光らせてキャプチャグループも並べます。
cron式の組み立て
Cron Builder
cron式を、許容範囲が添えられた入力欄にフィールドごとに打ち込んで組み立て、変えるたびに出来上がるスケジュールを見せます。
タイムゾーン変換
Timezone Converter
ある時刻を複数のタイムゾーンに変換し、会議を組みやすい重なり時間帯を表で示します。
JSONフォーマッター・検証
JSON Formatter & Validator
JSONを整形・圧縮して検証し、構文エラーがあれば行と列を正確に指し示します。
次の一手
このツールが出したものをそのまま受け取れる道具です。
営業日計算機
Business Day Counter
土日と祝日を除いて2つの日付のあいだの営業日を数えるか、N営業日後の日付を求めます。
cron式の組み立て
Cron Builder
cron式を、許容範囲が添えられた入力欄にフィールドごとに打ち込んで組み立て、変えるたびに出来上がるスケジュールを見せます。
タイムゾーン変換
Timezone Converter
ある時刻を複数のタイムゾーンに変換し、会議を組みやすい重なり時間帯を表で示します。
JSON⇄CSV変換
JSON ⇄ CSV
入れ子のJSONをドット記法の列名で平らに開くか、表からオブジェクトを組み直します。
JSON差分比較
JSON Diff
キーの順序を無視して2つのJSONを構造で比べ、追加・削除・変更されたパスを挙げます。
JSONフォーマッター・検証
JSON Formatter & Validator
JSONを整形・圧縮して検証し、構文エラーがあれば行と列を正確に指し示します。