Cron式とは

Cron式は、定期的なタスク実行のスケジュールを記述するための書式です。Unix系OSのcronデーモンから生まれ、現在はGitHub Actions・AWS EventBridge・Kubernetes CronJobなど多くのサービスで採用されています。

5フィールドの構造

┌──分(0-59)
│ ┌──時(0-23)
│ │ ┌──日(1-31)
│ │ │ ┌──月(1-12)
│ │ │ │ ┌──曜日(0-7、0と7が日曜)
│ │ │ │ │
* * * * *

よく使うパターン

  • 0 9 * * 1-5:平日の毎朝9時
  • 0 0 * * *:毎日深夜0時
  • */5 * * * *:5分ごと
  • 0 9 1 * *:毎月1日の9時
  • 0 0 * * 0:毎週日曜日の深夜

特殊文字の意味

  • *:すべての値(毎分・毎時など)
  • ,:複数の値を指定。例:1,3,5
  • -:範囲を指定。例:1-5(月〜金)
  • /:間隔を指定。例:*/10(10分ごと)

GitHub Actionsでの注意点

GitHub ActionsのCron式はUTC基準です。日本時間(JST)に合わせるには9時間引いた値を設定します。「毎日JST 9時」は0 0 * * *(UTC 0時)と設定します。また、GitHub Actionsでは最短5分間隔が推奨されており、それ以上の頻度は動作保証外です。