【くろん】

cron(定期実行) とは?

💡 「毎日3時にバックアップ」を自動でやってくれる
📌 このページのポイント
cronの仕組み cron式の5つのフィールド 曜日 30 2 * * * 0-59 0-23 1-31 1-12 0-7 = 毎日 2:30 に実行 crontab 設定ファイル crondデーモン 常駐プロセス スクリプト タスク実行 読込 起動 タイムライン 0:00 2:30 12:00 2:30 実行! 実行! 1日目 2日目 よく使うcron式の例 */5 * * * * 5分ごと 0 9 * * 1-5 平日9時 0 0 1 * * 毎月1日 0 */6 * * * 6時間ごと 0 0 * * 0 毎週日曜 @reboot 起動時に実行
cronの仕組み
ひよこ ひよこ

cronの書き方は?

ペンギン先生 ペンギン先生

「分 時 日 月 曜日 コマンド」の5フィールドで指定するよ。「0 3 * * * /backup.sh」は毎日3時に実行、「*/5 * * * * /check.sh」は5分おきに実行、「0 9 * * 1」は毎週月曜9時に実行。crontab.guruというサイトで式を視覚的に確認できるよ

ひよこ ひよこ

cronの注意点は?

ペンギン先生 ペンギン先生

環境変数がログインシェルと異なるので、PATHを明示的に指定する。②出力をリダイレクトしないとメールが溜まる(> /dev/null 2>&1 で抑制)。③同じジョブが前回まだ実行中に次が走る「重複実行」に注意(flock コマンドでロック)。④タイムゾーンはサーバーのシステム時刻に依存するよ

ひよこ ひよこ

systemd timerとの違いは?

ペンギン先生 ペンギン先生

systemd timer はcronの後継的な仕組みで、依存関係の管理、ログのjournalctl統合、秒単位のスケジュール、システム起動後からの相対時間指定ができるよ。モダンなLinux環境ではsystemd timerの方が多機能だけど、cronの方がシンプルで情報も多いから小規模な定期実行には今もcronが使われているね

ひよこ ひよこ

クラウドでのcron相当は?

ペンギン先生 ペンギン先生

AWS EventBridge(旧CloudWatch Events)でcron式スケジュールを設定してLambda関数を実行するパターンが定番。GCPならCloud Scheduler、AzureならTimer Triggerを使うよ。サーバーレスなのでサーバー管理不要で、失敗時のリトライやDead Letter Queueも設定できるのが強みだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「cron」って出てきたら「Linux で定期的にコマンドを自動実行する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「cron(Chronos)」 = クロン
💬 ギリシャ語のChronos(時間の神)が語源。時間に従って処理を実行するよ
← 用語集にもどる