本文へスキップ
CronExplain

毎年実行する Cron 式

1 月 1 日の午前 0 時に年 1 回ジョブを実行します。年次の繰り越し、年次アーカイブ、長期設定の更新などに使えます。

各方言での同じスケジュール

方言式
標準 crontab0 0 1 1 *
6 フィールド(秒あり)0 0 0 1 1 *
Quartz0 0 0 1 1 ?
Spring0 0 0 1 1 *
AWS EventBridgecron(0 0 1 1 ? *)
GitHub Actions0 0 1 1 *
Kubernetes CronJob0 0 1 1 *

意味

判定結果: 標準 crontab · 5 つのフィールド: 分・時・日・月・曜日。日曜日は 0 または 7。日と曜日の両方を指定すると、どちらか一方が一致したときに実行されます。

✓ 有効 · 意味

次において実施00:00、月の 1 日目1月 でのみ

プリセット

次の 10 回の実行

#UTC の時刻あなたの現地時刻
1——
2——
3——
4——
5——
6——
7——
8——
9——
10——

他の方言での同じスケジュール

  • Quartz0 0 0 1 1 ?
  • AWS EventBridgecron(0 0 1 1 ? *)EventBridge ルールは UTC を使用します。
  • Spring0 0 0 1 1 *

ビジュアルビルダー

フィールドごとに値を選択します。ビルダーは標準の 5 フィールド式を作成し、使用時に選択中の方言へ変換します。

分
時
日
月
曜日
0 9 * * 1-5

この式の仕組み

式 0 0 1 1 * は 標準 crontab の構文で書かれています。左から右へフィールドごとに読みます。各フィールドがジョブを実行できるタイミングを絞り込み、現在時刻がすべてのフィールドに一致したときにスケジューラーがジョブを開始します。わかりやすく言うと「次において実施00:00、月の 1 日目1月 でのみ」という意味です。

スケジューラーに合わせる

crontab、Kubernetes、GitHub Actions は 5 フィールド形式を使います。Quartz と Spring は先頭に秒フィールドが必要で、Quartz と AWS はさらに 2 つの日付フィールドの一方に「?」が必要です。上の表はこれらの違いをすでに反映しています。GitHub Actions と AWS EventBridge のルールは UTC で実行され、crontab はサーバーのタイムゾーンを使うため、同じ式でも実行環境によって現地時刻が変わる点に注意してください。

デプロイ前に確認

最終的な式を上の解説ツールに貼り付け、実際に実行するマシンのタイムゾーンを選びましょう。次回実行時刻の一覧で、夏時間の切り替え前後も含めてジョブがいつ開始されるかが正確に分かるので、1 時間ずれるようなミスを本番前に見つけられます。

よくある質問

毎年実行する Cron 式は?
標準 crontab では 0 0 1 1 * です。Quartz では 0 0 0 1 1 ?、AWS EventBridge では cron(0 0 1 1 ? *) です。
どのタイムゾーンで実行されますか?
crontab はサーバーのローカルタイムゾーン、Kubernetes はコントローラーのタイムゾーンまたは spec.timeZone、GitHub Actions と AWS EventBridge のルールは UTC を使います。
スケジュールをテストするには?
このページの解説ツールに貼り付けてください。任意のタイムゾーンでの次の 10 回の実行時刻を、現地時刻と並べて表示します。
少し変更できますか?
はい。ツールで式を編集するか、ビジュアルビルダーを使ってください。説明と実行時刻は入力に合わせて更新されます。