要約
このcron式生成ツールは、スケジュール説明やペーストされたcron文字列を、検証済みの5フィールド式(分、時間、月の日、月、曜日)に変換します。5分ごと、平日9時など一般的なプリセットを選ぶか、各フィールドを直接編集。範囲、リスト、ステップ値に対応。ツールはスケジュールをプレーン説明で表示し、次の5回の実行時刻をUTCで計算します。vixie-cronとKubernetes CronJobと同じ日付フィールドのOR論理を使用しているため、ここで表示される内容は本番で実行される内容と一致します。
スケジュール設定とロールアウトウィンドウ向けのCron式生成ツール
プリセットから「cron式 生成ツール」で5フィールド式を構築するか、ペーストして確認。スケジュール確定前に、明確な説明と次の5回の実行時刻を確認します。
このcron式生成ツールの仕組み
5フィールド、標準構文
分、時間、月の日、月、曜日:crontab、GitHub Actions schedule、Kubernetes CronJobが読む同じフィールド。範囲(9-17)、リスト(1,15,30)、ステップ(*/5)、ワイルドカードは本番と同じように解析されます。
日付フィールドはANDではなくORです
月の日を1、曜日を月曜日に設定すると、ジョブは月の初日または任意の月曜日に実行され、両者が一致する場合のみではありません。これはvixie-cronとKubernetes CronJobが実際に評価する方法であり、ほとんどのジェネレーターがスキップする詳細です。
次の5回の実行、リアルタイム計算
編集するたびに、実際のカレンダーを進めながら5つのUTCタイムスタンプを再計算します。2月30日などのような起動できないスケジュールは、crontabで静かに止まるのではなく、ここに空白として表示されます。
構築するだけでなく、チェックするために貼り付ける
チームメート、CronJobマニフェスト、または古いStack Overflowの回答からcron文字列がありますか?フィールドにペーストして、同じ説明と実行時刻を取得します。別のバリデーターは不要です。
空白フィールドから信頼できるスケジュールへ
-
1
プリセットから開始
一般的なスケジュール(5分ごと、平日9時、毎月1日)を選択するか、デフォルトのままにしてそこから調整します。
-
2
重要なフィールドを調整
クイック選択ドロップダウンを使用するか、直接入力:コンマリスト、範囲のダッシュ、ステップの*/Nはすべてのフィールドで機能します。
-
3
出荷前に確認
明確な説明を読み、次の5回の実行時刻をメンテナンスウィンドウまたはSLOバジェットに対して確認してから、式をcrontab、CIスケジュール、またはCronJobマニフェストにコピーします。
月の日と曜日フィールドがOR論理を使用する理由
Linux crontabとKubernetes CronJobの背後にある実装であるPOSIX/vixie-cronには、ほとんどの人が読むことのない奇妙なルールがあります。月の日と曜日フィールドの両方が*から制限されている場合、ジョブはどちらか一方が一致するときに実行され、両方が一致するときのみではありません。月の日を1、曜日を月曜日に設定すると、スケジュールは月の初日と毎月曜日に起動し、初日である月曜日にのみではありません。どちらかのフィールドを*のままにしておくと、制限されたフィールドのみが日を制約します。このジェネレーターはその慣例に従っています。なぜなら、それは実際にcrontabを実行するもので、簡略化されたバージョンではないからです。それは最も重要なのは、プラットフォームチームが夜11時に書く種類のスケジュールです:最初の営業日または月の初日に実行してください。最初に来る方、ほとんどの人にはANDのように見え、本番ではORのように動作します。
- POSIX/vixie-cron(Linux crontab、Kubernetes CronJob):いずれかの日フィールドが制限されるとOR
- Quartz cron(Javaベースのスケジューラーで一般的):通常、2つの日フィールドの1つを*の代わりに?のままにする必要があり、曖昧さを完全に回避します
- このジェネレーターはPOSIX/vixie-cron慣例に従います。crontabとCronJobが実際に実行するものだからです
一般的な質問
このcron式生成ツールは無料ですか?
次の実行時刻は何のタイムゾーンで表示されますか?
月の日1と曜日の月曜日が両方で実行され、重複するときだけではないのはなぜですか?
「@daily」、「@reboot」、または他のショートカットマクロをサポートしていますか?
スケジュールはサーバーに送信されますか?
次の実行計算は夏時間を考慮していますか?
数字の代わりに月または曜日の名前を入力できますか?
Cronジョブが起動します。それがトリガーするデプロイを何がゲートするか?
upstreamapi は機能フラグロールアウトを SLO バジェットに結び付けるため、cron トリガーデプロイはポケベルが鳴る前に自動ロールバックでき、その後ではなく。