次において実施09:00、月曜日 から 金曜日 まで

0 9 * * 1-5

フィールド

分00
時99
日*任意
月*任意
曜日1-51, 2, 3, 4, 5

使える場所

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

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

知っておきたいこと

0 9 * * 1-5 は月曜日から金曜日の 09:00 に実行されます。ほとんどの cron は MON-FRI も受け付けます。大きな落とし穴はタイムゾーンです。UTC のサーバーで午前 9 時に送るレポートは、中央ヨーロッパでは夏時間かどうかによって 10:00 か 11:00 に届きます。また、GitHub Actions は常に UTC を使います。現地時刻に固定するには、cronie なら CRON_TZ=Europe/Warsaw を、Kubernetes の CronJob なら spec.timeZone を使います。

cron は祝日を知らないので、スクリプト内で祝日リストを確認して早めに終了してください。「月の最初の平日」のつもりで日フィールドと曜日フィールドを組み合わせてはいけません。両方のフィールドが制限されていると、cron はどちらかが一致すれば実行するため、0 9 1 * 1-5 は 1 日とすべての平日に起動します。平日の 9:00 と 17:00 には、0 9,17 * * 1-5 と書きます。

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