本文へスキップ
cron.surf

Spring の cron を crontab に変換

Spring のフィールドは 秒 分 時 日 月 曜日、crontab は 分 時 日 月 曜日 です。式を貼り付けると変換します。正確に対応しない部分は理由と代替案を示します。

“00:00、月の最終日”

変換先 · crontab変換不可
  • 日: crontab には「月末」がありません。月末は 28 日から 31 日まで変わるため、固定の日付では一致しません。

    代替案28〜31 日に実行し、翌日が 1 日でなければ終了します。GNU date が必要です。crontab では % を \% と書きます。
    0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && /path/to/job
    これだけでは同等になりません。ジョブ内での判定が必要です。

他のプラットフォームでの同じスケジュール

GitHub Actions変換不可
  • 日: GitHub Actions には「月末」がありません。月末は 28 日から 31 日まで変わるため、固定の日付では一致しません。

    代替案28〜31 日に実行し、翌日が 1 日でなければ終了します。GNU date が必要です。crontab では % を \% と書きます。
    0 0 28-31 * *  # job: [ "$(date -d tomorrow +%d)" = "01" ] || exit 0
    これだけでは同等になりません。ジョブ内での判定が必要です。
Kubernetes変換不可
  • 日: Kubernetes には「月末」がありません。月末は 28 日から 31 日まで変わるため、固定の日付では一致しません。

    代替案28〜31 日に実行し、翌日が 1 日でなければ終了します。GNU date が必要です。crontab では % を \% と書きます。
    0 0 28-31 * *  # job: [ "$(date -d tomorrow +%d)" = "01" ] || exit 0
    これだけでは同等になりません。ジョブ内での判定が必要です。
cron(0 0 L * ? *)
cron() は 6 フィールド。日付フィールドの一方は ?。タイムゾーン未設定なら UTC。
Quartz同等
0 0 0 L * ?
秒が先頭、日曜日は 1、日付フィールドの一方は ?。

次の 10 回の実行

ブラウザで計算
  1. 計算中…

Spring と crontab の違い

Springcrontab
フィールド秒 分 時 日 月 曜日分 時 日 月 曜日
日曜日0 または 70 または 7
日と曜日の両方を指定両方一致どちらか一致。一方が * で始まると両方一致
特殊文字L W # LW L-nなし
短縮形@yearly @monthly @weekly @daily @hourly@reboot @yearly @monthly @weekly @daily @hourly
タイムゾーンzone=、なければ JVMシステムのタイムゾーン。cronie は CRON_TZ=
最短間隔1 秒1 分

よく使うスケジュールの変換結果

Springcrontab
5 分ごと0 */5 * * * **/5 * * * *
1 時間ごと0 0 * * * *0 * * * *
毎分0 * * * * ** * * * *
10 分ごと0 */10 * * * **/10 * * * *
15 分ごと0 */15 * * * **/15 * * * *
30 分ごと0 */30 * * * **/30 * * * *
毎日 0 時0 0 0 * * *0 0 * * *
毎日 9 時0 0 9 * * *0 9 * * *
平日 9 時0 0 9 * * 1-50 9 * * 1-5
毎週月曜日0 0 0 * * 10 0 * * 1
毎月 1 日0 0 0 1 * *0 0 1 * *
6 時間ごと0 0 */6 * * *0 */6 * * *
毎週日曜日 0 時0 0 0 * * 00 0 * * 0
2 時間ごと0 0 */2 * * *0 */2 * * *
12 時間ごと0 0 */12 * * *0 */12 * * *
毎日 12 時0 0 12 * * *0 12 * * *
毎週金曜日0 0 0 * * 50 0 * * 5
毎月末日0 0 0 L * *変換不可
四半期ごと0 0 0 1 */3 *0 0 1 */3 *
2 分ごと0 */2 * * * **/2 * * * *
3 時間ごと0 0 */3 * * *0 */3 * * *
毎日 6 時0 0 6 * * *0 6 * * *
毎日 18 時0 0 18 * * *0 18 * * *
1 日 2 回0 0 */12 * * *0 */12 * * *
平日 18 時0 0 18 * * 1-50 18 * * 1-5
週末 10 時0 0 10 * * 0,60 10 * * 0,6
毎月 15 日0 0 0 15 * *0 0 15 * *
毎月第 1 月曜日0 0 9 * * MON#1変換不可
毎月最終金曜日0 0 17 * * FRIL変換不可
年 1 回0 0 0 1 1 *0 0 1 1 *
30 秒ごと*/30 * * * * *変換不可
3 分ごと0 */3 * * * **/3 * * * *
20 分ごと0 */20 * * * **/20 * * * *
4 時間ごと0 0 */4 * * *0 */4 * * *
8 時間ごと0 0 */8 * * *0 */8 * * *
毎日 1 時0 0 1 * * *0 1 * * *
毎日 2 時0 0 2 * * *0 2 * * *
毎日 3 時0 0 3 * * *0 3 * * *
毎日 8 時0 0 8 * * *0 8 * * *
毎平日0 0 0 * * 1-50 0 * * 1-5
毎週末0 0 0 * * 0,60 0 * * 0,6
毎週火曜日0 0 0 * * 20 0 * * 2
毎週水曜日0 0 0 * * 30 0 * * 3
毎週木曜日0 0 0 * * 40 0 * * 4
毎週土曜日0 0 0 * * 60 0 * * 6
6 か月ごと0 0 0 1 */6 *0 0 1 */6 *
10 秒ごと*/10 * * * * *変換不可
5 秒ごと*/5 * * * * *変換不可

よくある質問

Spring の式はすべて crontab に変換できますか?

すべてではありません。このページの 48 件のうち 42 件が同等に変換できます。残りは代替案が必要で、変換ツールが表示します。

Spring と crontab で日曜日はどう書きますか?

Spring:0 または 7。crontab:0 または 7。

タイムゾーンも引き継がれますか?

式自体にはタイムゾーンがありません。Spring:zone=、なければ JVM。crontab:システムのタイムゾーン。cronie は CRON_TZ=。