cron 式の解読・生成(次回実行日時つき)

5フィールドのcron式を日本語で解説し、次回実行日時を5回分まで計算。*, -, /や曜日名(MON等)にも対応。セレクトで組む簡易ジェネレータも搭載し、日と曜日を両方指定した場合のOR条件も正しく扱う。

例: */10 * * * *(10分ごと)、0 9 * * 1-5(平日 9:00)、0 0 1 * *(毎月1日 0:00)

-

次回実行日時(ブラウザのローカル時刻・最大5回、1年以内で計算)


    簡易ジェネレータ(セレクトで組み立てて上の式に反映)

    使い方

    1. 上の欄に「分 時 日 月 曜日」の5フィールドの cron 式を入力する(例: 0 9 * * 1-5)。
    2. 日本語の説明と、次回実行日時が最大5回分表示される(ブラウザのローカル時刻・1年以内で検索)。
    3. 式を覚えていない場合は下のセレクトで分・時・日・月・曜日を選び、「生成した式を上に反映」を押す。

    仕組み・計算式

    cron 式の各フィールドは *(すべて)、単一値、a-b(範囲)、a,b,c(列挙)、*/n や a-b/n(ステップ)を組み合わせて書ける。曜日は 0〜7 の数値で表され、Vixie cron(多くの Linux ディストリビューションが採用する crontab の実装)の仕様上 0 と 7 はどちらも日曜日を指す。月・曜日は JAN〜DEC、SUN〜SAT の英字省略名でも指定できる。次回実行日時は、現在時刻の1分後から1分刻みで条件に合う日時を走査して求めている。

    現場の落とし穴:「日(day of month)」と「曜日(day of week)」を両方とも * 以外で指定すると、直感に反して AND ではなく OR 条件になる。例えば 0 0 1 * MON は「毎月1日」と「毎週月曜日」のどちらかに一致した日に実行され、「月初の月曜日だけ」にはならない。この仕様は POSIX の crontab 仕様および crontab(5) の man ページに明記されており、cron 特有の落とし穴として知られている。「月初の月曜だけ実行したい」場合は、cron 単体では表現できないため、スクリプト側で date コマンド等を使って曜日を判定する必要がある。なお、どちらか一方が * のときは、もう一方だけで通常どおり絞り込まれる(OR にはならない)。

    よくある質問

    Q. 秒単位の指定はできますか?

    A. できない。標準の cron は分単位が最小で、5フィールド(分 時 日 月 曜日)が基本形式。秒フィールドを加えた6フィールド形式は systemd timer や一部のジョブスケジューラ(Quartz など)独自の拡張であり、このツールでは扱わない。

    Q. */15 はどういう意味ですか?

    A. そのフィールドの範囲(分なら0〜59)を15ステップで区切った値、つまり 0,15,30,45 と同じ。開始位置は常にフィールドの最小値からになる。

    Q. 次回実行日時が「見つかりません」と出ました

    A. 条件が非常にまれ(例: 2月30日のような存在しない日を指定した等)だと、1年以内に一致する日時がないことがある。式の日と月の組み合わせを見直してほしい。

    Q. タイムゾーンはどう扱われますか?

    A. このツールはブラウザが認識しているローカル時刻で計算する。実際のサーバーの cron はサーバーのタイムゾーン設定(/etc/timezone など)に従うため、サーバーと閲覧環境のタイムゾーンが異なる場合は結果がずれる。

    関連ツール

    最終更新・根拠の確認日: 2026-09-10 · カテゴリ: Linux・サーバー