cron 式パーサー

cron スケジュールを分かりやすい説明に分解し、次回の実行予定時間をブラウザ上でプレビューできます。

cron 式

次回の実行予定

(ローカル時間)

cron 式を入力すると解析が開始されます。

cron 式の解析はお使いのブラウザ内で行われます。BroBroGo に送信されることはありません。

よくある質問

このツールはどのような cron 構文をサポートしていますか?

標準的な5フィールドの cron(分、時、日、月、曜日)に対応しています。範囲指定(1-5)、ステップ(*/15)、リスト(1,15)、英語の月名や曜日名(JAN, MON)、およびショートカット(@yearly, @monthly, @weekly, @daily, @hourly)が含まれます。見落としがちなルールとして、「日」と「曜日」の両方が制限されている(* ではない)場合、どちらか一方に一致すれば実行されます(両方を満たす必要はありません)。

次回実行時間はどのタイムゾーンで表示されますか?

お使いのブラウザのローカルタイムゾーン(システム時計と同じタイムゾーン)です。標準の cron 式自体にはタイムゾーン情報が含まれず、実行するジョブスケジューラーによって決定されます。そのため、表示される時間はあくまでローカル環境でのプレビューとして扱い、必ずしもサーバーの時間とは一致しないことに注意してください。

「このスケジュールは実行されることがありません」と表示されるのはなぜですか?

多くの場合、選択したすべての月に存在しない「日」が指定されていることが原因です。例えば、月フィールドで4月、6月、9月、11月が指定されているにもかかわらず、日フィールドに「31」が指定されている場合などです。リストアップしたすべての月に存在する日を選択するか、スケジュールを別々の式に分割してください。

cron 式の構造と各フィールドの役割

cron 式は、定期的なタスクの実行スケジュールを定義するためのテキスト形式の記述法です。本ツールが対応する標準的な 5 フィールド構成の cron 式は、スペースで区切られた以下の 5 つの要素から成り立っています。

  • : 実行する分を指定します。
  • : 実行する時間を指定します。
  • : 実行する月内の「日」を指定します。
  • : 実行する月を指定します。
  • 曜日: 実行する曜日を指定します。

本ツールに cron 式を入力すると、これらのフィールドが自動的に解析され、「スケジュールの詳細」として各項目の意味が分かりやすく分解表示されます。

サポートされる構文と特殊文字

標準的な数値指定に加え、柔軟なスケジュール設定を行うための様々な記法をサポートしています。

  • 範囲指定: 1-5 のようにハイフンを用いて連続する値を指定します。
  • ステップ: */15 のようにスラッシュを用いて間隔を指定します。この形式を入力した場合、詳細表示には「{n} 分ごと」や「{n} 時間ごと」のように、指定された間隔に応じた説明が表示されます。
  • リスト: 1,15 のようにカンマで区切って複数の値を指定します。
  • 名前表記: 月名(例: JAN)や曜日名(例: MON)をアルファベットで指定できます。
  • ワイルドカード: * を指定すると「制限なし」として扱われます。
  • ショートカット: @yearly@monthly@weekly@daily@hourly といった事前定義されたショートカット表現も解析可能です。

なお、本ツールは 5 フィールドの標準構文に特化しており、6 番目のフィールドである「秒」や、Quartz などの拡張仕様で使われる LW# といった特殊文字には対応していません。

評価ルールと注意すべき挙動

cron 式を記述・運用するにあたり、仕様上の重要なルールと注意点が存在します。

日と曜日の評価ロジック

「日」と「曜日」のフィールドが両方とも * 以外の特定の値に制限されている場合、論理積(AND)ではなく論理和(OR)として評価されます。つまり、どちらか一方の条件を満たしているだけで、そのスケジュールは実行対象となります。

実行不可能なスケジュール

文法的に正しくても、論理的に決して実行されないスケジュールが存在します。例えば、4月、6月、9月、11月といった小の月のみを指定しているにもかかわらず、日のフィールドに 31 を指定した場合などがこれに該当します。このような矛盾がある式を入力すると、ツールは「このスケジュールは実行されることがありません。選択したすべての月に存在しない「日」が指定されていないか確認してください。」というエラーを表示します。

タイムゾーンの影響

cron 式自体にはタイムゾーンの定義が含まれていません。本ツールが計算する「次回の実行予定」の一覧は、お使いのブラウザが検出したローカルタイムゾーンに基づいて変換され、「(ローカル時間)」として表示されます。実際のサーバー環境のタイムゾーン設定と異なる場合があるため、プレビューの際はご注意ください。

ブラウザ内処理によるプライバシー保護

本ツールに入力された cron 式の解析処理および次回実行時間の計算は、すべて利用者のブラウザ内部で完結して実行されます。入力データや解析結果が外部のサーバー(BroBroGo)に送信されることはありません。


よくある質問

このツールはどのような cron 構文をサポートしていますか?

標準的な5フィールドの cron(分、時、日、月、曜日)に対応しています。範囲指定(1-5)、ステップ(/15)、リスト(1,15)、英語の月名や曜日名(JAN, MON)、およびショートカット(@yearly, @monthly, @weekly, @daily, @hourly)が含まれます。見落としがちなルールとして、「日」と「曜日」の両方が制限されている( ではない)場合、どちらか一方に一致すれば実行されます(両方を満たす必要はありません)。

次回実行時間はどのタイムゾーンで表示されますか?

お使いのブラウザのローカルタイムゾーン(システム時計と同じタイムゾーン)です。標準の cron 式自体にはタイムゾーン情報が含まれず、実行するジョブスケジューラーによって決定されます。そのため、表示される時間はあくまでローカル環境でのプレビューとして扱い、必ずしもサーバーの時間とは一致しないことに注意してください。

「このスケジュールは実行されることがありません」と表示されるのはなぜですか?

多くの場合、選択したすべての月に存在しない「日」が指定されていることが原因です。例えば、月フィールドで4月、6月、9月、11月が指定されているにもかかわらず、日フィールドに「31」が指定されている場合などです。リストアップしたすべての月に存在する日を選択するか、スケジュールを別々の式に分割してください。