Cron式の次回実行時刻を確認する方法
5フィールドのCron式を入力すると、現在のUTC時刻を基準に、次に実行される5つの日時を確認できます。式が有効でも、10年以内に一致する日時が見つからない場合は失敗になります。
Cron式の次回実行時刻を確認する
Cron式から、次に実行される時刻を確認したいときに使える解析ツールです。5フィールドの式を検証し、計算に成功すると、現在のUTC時刻を基準にした今後5回分の実行日時を返します。定期処理のスケジュールを登録する前に、記述した条件が意図した日時になるかを確認する用途に向いています。
入力して次の5回を調べる手順
- 解析したいCron式を入力します。フィールドは左から「分、時、日、月、曜日」の順で、空白で区切った5つにします。入力がない場合は
*/5 * * * *が使われます。 - 余分な前後の空白や、連続した空白があっても、検証前に整理されます。ただし、フィールド数が5つ以外の場合は、日時の計算に進まず失敗になります。
- 実行して結果を確認します。成功時は、現在のUTC時刻から先に該当する5つのカレンダー上の発生日時が、UTCを示すISO形式の日時文字列で返されます。日付と曜日の両方に条件を指定した場合は、両方を同時に満たす必要はなく、いずれかに一致する日が対象です。
結果の読み方と確認できる範囲
成功結果の5件は、式に合う将来のカレンダー上の発生を、近いものから確認するための値です。たとえば月初の深夜を表す式では、各月の1日0時の発生が候補になります。表示された時刻を別のタイムゾーンで予定に使う場合は、UTCからの変換を自分の運用環境に合わせて行ってください。
失敗した場合は、フィールド数や式の構文などの入力を見直します。構文が有効でも、次の一致が10年以内に見つからない式は失敗になります。そのため、失敗は「一致する日時が存在しない」という意味に限らず、入力形式または検索範囲の条件を確認するきっかけとして扱います。
使用例
毎月1日の0時に実行する定期処理を登録する前に、次の発生日時を確認したい場合です。
月初の深夜に動く予定を確認するため、0 0 1 * * を入力して実行します。
UTCを示すISO形式の日時文字列が、近い発生順に5件返ります。
制限事項
- 検索範囲は10年に設定されています。式が構文上有効でも、次の一致がその範囲内にない場合は成功結果になりません。
よくある間違い
- フィールドを6つ以上にしたり、順序を秒・分・時のように並べ替えたりすると失敗します。秒の欄を追加せず、分、時、日、月、曜日の5つに戻してから再実行してください。
よくある質問
6フィールドのCron式にも対応していますか?
6フィールド入力は対象外です。フィールド数が5つ以外になるため、日時の計算前に失敗します。
結果の時刻は日本時間ですか?
計算は現在のUTC時刻から始まり、結果の日時文字列もUTCを示します。日本時間で予定を組む場合は、表示された時刻を変換して確認してください。
日付と曜日を両方指定すると、両方を満たす日だけが対象ですか?
日付と曜日の条件を両方指定した場合はORで判定され、日付または曜日のどちらかに一致する日が対象になります。