このツールについて
定期的なテスト実行、夜間のリグレッション、データのクリーンアップジョブはどれも、読み間違えやすい cron 式に依存しています。このツールは式をわかりやすい言葉に翻訳し、さらに役立つことに、選んだタイムゾーンでの実際の次回実行時刻を計算します。そのため、ジョブが UTC の 02:00 ではなく本当に現地時間の 02:00 に実行されるかを確認できます。計算は Vixie cron のルールに従っており、日(day-of-month)と曜日(day-of-week)の両方が制限されている場合、どちらか一方が一致すればその日が該当する、という意外に思われがちなルールも含みます。現地時刻が存在しない夏時間の空白も警告します。プリセットには、常に UTC で評価される 5 フィールド構文の GitHub Actions のスケジュールも含まれます。
使い方
- 式を入力または貼り付けるか、プリセットを選びます。
- 標準の cron なら 5 フィールドを、スケジューラーの先頭に秒のフィールドがある場合は 6 フィールドを選びます。
- スケジューラーが動作するタイムゾーンと、表示する今後の実行回数を選びます。
- 説明と次回実行時刻を確認します。エラーの場合は、どのフィールドが誤っているかが説明されます。
cron 式解説ツール のよくある質問
"0 0 13 * 5" が 13 日の金曜日だけでなく毎週金曜日に実行されるのはなぜですか?
標準の cron では、日と曜日の両方が制限されている(どちらも * で始まらない)場合、どちらか一方が一致したときにジョブが実行されます。13 日の金曜日だけに実行するには、ジョブ内でスクリプトによるチェックが必要です。
GitHub Actions のスケジュールはどのタイムゾーンを使いますか?
schedule イベントは UTC で評価され、5 フィールドの POSIX 構文を使い、最小間隔は 5 分です。混雑時、特に毎時 0 分には実行が遅れることがあるため、夜間ジョブには中途半端な分を選んでください。
Quartz の式に対応していますか?
標準の cron と共通する部分のみです。Quartz は日曜〜土曜に 1〜7 を使い、L、W、# を追加していますが、このツールはそれらを推測せずに未対応として報告します。