レッスン 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 で例を試してください。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る