毎時

0 * * * *

フィールド

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

使える場所

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

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

知っておきたいこと

0 * * * * は毎時 0 分(正時)に実行され、@hourly と同じです。よくある間違いは 0 を時のフィールドに書いてしまうことで、* 0 * * * は 00:00 から 00:59 まで毎分実行されます。Debian や Ubuntu では、/etc/cron.hourly 内のスクリプトも run-parts によって毎時 17 分に実行されるので、正確な分を気にしないジョブに向いています。2 時間ごとは 0 */2 * * * です。

0 分はどのスケジューラーにとっても最も混み合う時刻なので、共有サービスを呼び出すジョブには 23 * * * * のように別の分を選びましょう。GitHub Actions は、毎時の開始時刻の実行は負荷が高いと遅延したり、破棄されたりすることがよくあると警告しています。1 回の実行が 1 時間を超える可能性があるなら flock -n で包み、失敗の痕跡が残るよう出力をログに追記してください。

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