5 分ごと

*/5 * * * *

フィールド

分*/50, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55
時*任意
日*任意
月*任意
曜日*任意

使える場所

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

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

知っておきたいこと

分フィールドの */5 は 0、5、10 分と続いて 55 分まで実行され、crontab を保存した時刻ではなく時計に合わせて動きます。*/5 を使うすべてのサーバーのすべてのジョブが同じ秒に起動するため、共有のデータベースや API に負荷が集中することがあります。負荷の高いジョブは 2-59/5 のようにずらしましょう。これは 2、7、12 分と続いて実行されます。10 分ごとは */10 です。

1 回の実行が 5 分を超える可能性があるなら、flock -n で保護して重複実行を防ぎましょう。Kubernetes では concurrencyPolicy: Forbid が同じ役割を果たします。cron の PATH と環境は最小限なので、プログラムは絶対パスで呼び出し、変数はスクリプト内で読み込みます。出力はログに追記しましょう。GitHub Actions は */5 を最小値として受け付けますが、負荷が高いとスケジュール実行が数分遅れて始まることがよくあります。

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