レッスン 1
Cron とは何か
スケジュールジョブと 5 フィールド Unix cron が現れる場所。
Cron は時間ベースのジョブスケジューラーです。Unix 伝統では、cron 式(または crontab 行)はコマンドやジョブをいつ実行するかを伝えます。何をするかではありません。
1 行、5 つの判断
クラシック Unix cron はスペース区切りの5 フィールドを使います。
minute hour day-of-month month day-of-week
例:0 9 * * 1-5 は「分 0、時 9、月内毎日、毎月、平日(月–金)」を意味します。平易な言葉では平日 09:00 です。
ジョブランナーは現在時刻を各フィールドと照合します。すべて一致するとジョブが発火します。
cron に出会う場所
| 文脈 | 典型的な用途 |
|---|---|
Linux crontab -e | ログローテーション、バックアップ、キャッシュウォーム |
Kubernetes CronJob | 名前空間クリーンアップ、レポート生成 |
GitHub Actions schedule | ナイトリービルド、依存関係スキャン |
| マネージドクラウドスケジューラ | Lambda/EventBridge ルール(拡張付きが多い) |
| アプリケーションライブラリ | cron 構文に触発されたプロセス内スケジューラ |
すべてのプラットフォームが同一の 5 フィールドルールを使うわけではありません。常にそのプラットフォームのドキュメントを読んでください。メンタルモデルは転用できます。
cron vs インターバルタイマー
「5 分ごと」は cron で */5 * * * *、コードでは単純なインターバルタイマーで表現できます。cron は壁時計境界(毎日 02:00、月初、平日 09:00)に合わせたスケジュールに優れています。
インターバルタイマーは「プロセス開始から N 秒ごと」に優れています。運用上の期待に合うツールを選んでください。
cron は exactly-once を保証しない
ホストダウン、前回実行の超過、同時実行制限で実行が欠落することがあります。ジョブは冪等で、2 回実行または 1 回スキップしても安全に設計してください。
要点
Cron 式はコンパクトなスケジュールです。次のレッスンで各フィールドの文法(*、リスト、範囲、ステップ)を分解し、任意の行を自信を持って読めるようにします。
Cron Expression Parser で例を試してください。