クロン表現式の基本構造
クロン表現式は5つのフィールドから成ります: 分(0-59)、時(0-23)、日(1-31)、月(1-12)、曜日(0-6、0=日曜日)。各フィールドには特殊な文字を使用できます。アスタリスク(*)は「すべての値」を意味し、スラッシュ(/)は「間隔」を表します。たとえば「*/5」は5分ごとを意味します。ハイフン(-)は範囲を示し、カンマ(,)は複数の値をリストアップするときに使用されます。
クロンの実務活用場面
クロンはデータベースのバックアップ、ログファイルの整理、キャッシュの更新、APIデータの取得、定期通知の送信など多様な自動化作業に使用されます。Webエンジニア、システム管理者、データエンジニアにとって不可欠な知識です。AWS EventBridgeやGoogle Cloud Schedulerなどのクラウドサービスも同じクロン構文を採用しており、その知識は広く活用できます。誤った設定はサーバーに不要な負荷をかける可能性があるため、必ず検証してから使用してください。
よく使われるクロン表現式
毎日午前0時: 0 0 * * * | 毎時: 0 * * * * | 毎週月曜9時: 0 9 * * 1 | 毎月1日: 0 0 1 * * | 毎日正午: 0 12 * * * | 平日(月〜金)8時: 0 8 * * 1-5 | 5分ごと: */5 * * * *
よくある質問
Q. 曜日は0から始まりますか?
A. はい。0=日曜日、1=月曜日、...、6=土曜日です。一部のシステムは日曜日として7も受け付けます。
Q. 秒(second)フィールドはありませんか?
A. 標準的なcronは分単位です。秒単位の実行が必要な場合、systemd timerなど別のスケジューラーを使う必要があります。
Q. クロンジョブが失敗した場合のデバッグは?
A. crontab -l で現在のジョブ一覧を確認し、/var/log/cronまたはシステムログで実行記録を確認してください。権限の問題や対話型シェルと異なる環境変数が原因のことが多いです。