次において実施02:30

30 2 * * *

フィールド

分3030
時22
日*任意
月*任意
曜日*任意

使える場所

crontab30 2 * * * /path/to/script.sh
GitHub Actions- cron: "30 2 * * *" (on.schedule)
Kubernetes CronJobschedule: "30 2 * * *"

crontab はサーバーのタイムゾーンで動作します。GitHub Actions は常に UTC を使います。

知っておきたいこと

30 2 * * * は毎日サーバー時刻の 02:30 に実行されます。トラフィックが少ないため、バックアップの定番の時間帯です。多くのタイムゾーンでは夏時間の切り替えに重なります。春の夜には現地時刻の 02:30 が存在せず、秋には 2 回訪れます。Vixie cron と Debian の cron はこれを補正し、スキップされたジョブは時刻が飛んだ直後に実行し、重複するジョブは 1 回だけ実行しますが、他のスケジューラーはそうしないかもしれません。

この問題は、01:00〜03:00 を避けてスケジュールするか、サーバーを UTC で動かすか、cronie で CRON_TZ=UTC を設定することで回避できます。Kubernetes の CronJob は spec.timeZone を設定しない限りコントローラーのタイムゾーンを使い、GitHub Actions は常に UTC を使います。夜間のバックアップは長引くことがあるので、flock -n を使い、出力をタイムスタンプ付きでログに残し、終了コードだけでなくリストアもテストしてください。隣の時間帯としては 30 3 * * * があります。

cron 式の作成・解説ツールを開く