次において実施00:00日曜日 にのみ

0 0 * * 0

フィールド

分00
時00
日*任意
月*任意
曜日00

使える場所

crontab0 0 * * 0 /path/to/script.sh
GitHub Actions- cron: "0 0 * * 0" (on.schedule)
Kubernetes CronJobschedule: "0 0 * * 0"

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

知っておきたいこと

0 0 * * 0 は日曜日が始まる午前 0 時、つまり土曜日が終わった直後に実行されます。週の終わりである日曜日の夜のつもりなら 0 23 * * 0 を、月曜日の 00:00 なら 0 0 * * 1 を使います。Vixie cron と cronie では 0 も 7 も日曜日を表し、@weekly は 0 0 * * 0 と同じです。Quartz ベースのスケジューラーは曜日を 1〜7 で数え、日曜日が 1 なので、コピーする前に確認してください。

週次ジョブは静かに失敗します。日曜日の午前 0 時にサーバーが停止していると、cron は後から実行しないので、さらに 1 週間待つことになります。一方、anacron や Persistent=true を指定した systemd タイマーなら、起動後に実行し損ねたジョブを実行します。週次のメンテナンスは長引くことが多いので、flock -n を使い、出力をログに残し、ハートビート監視を追加しましょう。隔週の日曜日に実行するには、コマンド内で date +\%V の週番号を確認します。

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