Cron式を作成し、次回実行日時を確認する
Cron方言、基準日時、TimeZoneを指定し、Cron式の構文と次回実行日時10件または50件をBrowser内で確認できます。
実行したい日時からCron式を作成する結論:Linuxでは「分 時 日 月 曜日」の順に書き、方言とTimeZoneを付けて確認する
毎分は「* * * * *」、毎時0分は「0 * * * *」、毎日9時は「0 9 * * *」、毎月1日0時は「0 0 1 * *」、平日9時は「0 9 * * 1-5」です。
これはLinux / Unixの代表的な5フィールド例です。Springは先頭に秒、AWSは末尾に年を持つため、同じ文字列をそのまま流用しません。
Cron式の後ろにCommandを置くcrontabでも、このツールが扱うのは時刻を表すCron Expressionだけです。
5つのフィールドを左から読む
各Fieldを別々に読み、アスタリスクを「省略」ではなく「すべての有効値」と解釈します。
曜日は0または7を日曜とする実装があります。数値Conventionは登録先で再確認します。
| 確認項目 | 確認内容 | 判断 |
|---|---|---|
| 分 | 0~59 | 実行するMinute |
| 時 | 0~23 | 24時間表記 |
| 日 | 1~31 | 存在しない日付に注意 |
| 月 | 1~12 / JAN-DEC | 月 |
| 曜日 | 0~7 / SUN-SAT | Dialect差を確認 |
Cron式作成・実行日時確認ツールで確認する手順
- Unix / Linux 5フィールドを選びます。
- PresetまたはField Builderで条件を入力します。
- Cron式を分・時・日・月・曜日へ分解して読みます。
- 基準日時とTimeZoneを指定します。
- 次回10件を確認してからCopyします。
毎日・平日等のPresetは式作成の出発点です。登録先のTimezoneとCron実装を確認してから使います。
よく使うCron式を比較する
| 目的 | Linux 5-field | 意味 |
|---|---|---|
| 毎分 | * * * * * | 毎分0秒 |
| 毎時0分 | 0 * * * * | 各時の00分 |
| 毎日9時 | 0 9 * * * | 毎日09:00 |
| 毎月1日 | 0 0 1 * * | 毎月1日00:00 |
| 平日9時 | 0 9 * * 1-5 | 月曜~金曜09:00 |
Cronの種類とフィールド数を最初に確認する
| 利用先 | 代表的なフィールド | 現行ツールでの扱い |
|---|---|---|
| Linux / Unix crontab | 分 時 日 月 曜日 | Unix / Linux 5フィールドで確認 |
| Spring @Scheduled | 秒 分 時 日 月 曜日 | 基本式は秒付き6フィールドで補助確認。Spring固有仕様は公式資料で確認 |
| Quartz CronTrigger | 秒 分 時 日 月 曜日 [年] | Quartz 6・7フィールドで確認 |
| AWS EventBridge Scheduler | 分 時 日 月 曜日 年 | 専用Mode未対応。AWS Consoleと公式仕様で検証 |
| GitHub Actions | 分 時 日 月 曜日 | Unix 5フィールドで式を補助確認し、最短間隔等はGitHub側で確認 |
同じ0から始まる式でも、先頭が分なのか秒なのかで意味が変わります。式だけをCopyせず、Dialect、Field Count、Timezoneを一組の設定として記録します。
次回実行日時・基準日時・TimeZoneを一緒に確認する
- 基準日時を明示し、その直後から次回候補を計算する
- 実行環境と同じIANA TimeZone、UTC、または端末TimeZoneを選ぶ
- 1件だけで判断せず、平日・月境界・うるう年をまたぐ複数件を確認する
- America/New_York等ではDST開始・終了日前後を別の基準日時で確認する
- Cron上の予定と実際の開始時刻は、負荷・停止・Platform遅延により一致しない場合がある
Asia/TokyoはDSTを採用していませんが、海外拠点やCloud Schedulerまで含めるならJST固定設計にしません。Preview表には選択したTimeZoneを表示し、UTCとの9時間差と端末時計そのもののずれを分けて切り分けます。
演算子と日付条件の意味を確認する
| 記号 | 基本的な意味 | 注意点 |
|---|---|---|
| * | Field内のすべての値 | 毎秒・毎分という意味はField位置によって変わる |
| , | 値のList | 9,12,18なら3つの時刻候補 |
| - | 連続するRange | 9-17は9から17までを含む |
| / | Field内のStep | 前回完了からの固定Delayではない |
| ? | Quartz等の日または曜日を未指定 | Linuxの一般的な5フィールド構文ではない |
| L・W・# | 月末・近接平日・第N曜日等 | 意味と可否はDialectとFieldで変わる |
現行ツールのUnix ModeはDay of MonthとDay of Weekを両方制限した場合にORで評価します。Quartz Modeでは一方だけを「?」にする必要があります。最終営業日のように祝日Calendarが必要な条件はCron式だけでは完結しません。
DevelopToolsのCron式作成・実行日時確認ツールでできること
| 項目 | 現行ツールの仕様 |
|---|---|
| Cron方言 | Unix / Linux 5フィールド、汎用の秒付き6フィールド、Quartz 6・7フィールド |
| 通常演算子 | 「*」「,」「-」「/」と月・曜日の英字Alias |
| Quartz特殊構文 | 「?」「L」「LW」「nW」「曜日L」「曜日#回数」 |
| 日時条件 | 基準日時、端末TimeZone、UTC、Browserが対応するIANA TimeZone |
| 結果 | 次回実行日時を10件または50件表示し、指定日時との一致も確認 |
| 操作 | Preset、Field Builder、Cron式・実行日時のCopy、Reset、Light/Dark Theme |
| 未対応 | Spring専用Mode、AWS EventBridge専用Mode、GitHub Actions専用Mode、方言間の自動変換、@daily等のMacro |
| 処理範囲 | Cron式をBrowser内で解析するだけで、Commandの登録・実行・外部送信は行わない |
「秒付きCron」は6フィールドを解析する汎用Modeです。Spring @Scheduledの基本的な6フィールド式を確認する補助には使えますが、Spring専用ParserやMacroを再現するものではありません。AWS EventBridgeはフィールド順とYearの扱いが異なるため、現行ツールへAWS式を貼って互換検証することはできません。
GitHub ActionsはPOSIX形式の5フィールドですが、最短5分、Workflow遅延、Platform固有のDST処理までは現行ツールで検証しません。ToolのPreviewは式とTimeZoneの確認に使い、登録前に利用先の公式画面・Validator・Documentationでも確認してください。
ブラウザ内処理と本番設定時の注意
- 現行ツールはCron ExpressionをBrowser内で解析し、fetch、XMLHttpRequest、sendBeaconを使用しない
- Command、Script、API Token、Internal URLは入力対象にせず、実行もしない
- CopyしたCron式は登録先のTimezone、Field Count、Minimum Intervalと再照合する
- 次回実行日時は予定であり、Jobの成功、排他、Retry、遅延を保証しない
- 本番反映後も監視、Timeout、重複実行対策、失敗通知を用意する
一次資料で利用先の現在仕様を確認する
- Linux man-pages:crontab(5)
- Spring Framework:Task Execution and Scheduling
- Quartz:CronTrigger Tutorial
- AWS:EventBridge SchedulerのSchedule types
- GitHub Docs:Workflow syntax / on.schedule
Cronの構文とTimezone機能はPlatformごとに更新されます。LinuxのDOM/DOW判定は利用するCron実装、Springは対象Framework Version、Quartzは導入Version、AWSとGitHubは現在のService Documentationを優先してください。
具体例:平日9時のCron式を作る
Unix Modeで平日Presetを選ぶと「0 9 * * 1-5」を確認できます。
Asia/Tokyoで次回10件を表示し、土日が含まれないことを確認します。
- Unix Mode
- 平日9:00 Preset
- Asia/Tokyo
- 次回10件を計算
- Cron式をCopy
ServerがUTCならAsia/TokyoではなくUTCでPreviewし、必要なら式のHourを変換します。
よくある質問
- 表示された次回実行日時どおりに必ずJobが始まりますか?
- いいえ。Cron式上の候補時刻です。実際の開始はServer停止、負荷、Concurrency、Cloud Serviceの遅延や仕様の影響を受けます。
- 入力したCron式やCommandは外部へ送信されますか?
- 現行ツールはCron ExpressionだけをBrowser内で解析し、外部APIへの送信やCommandの実行を行いません。
- AWSやSpringの式もそのまま検証できますか?
- AWS専用ModeとSpring専用Modeはありません。Springの基本6フィールドは汎用の秒付きModeで補助確認できますが、登録先の公式Validatorでも必ず確認してください。