【ログローテート】
logrotate とは?
💡 ログファイルが際限なく太るのを防ぐダイエットマネージャー
📌 このページのポイント
- 指定したサイズや期間でログファイルを自動的に分割・世代管理する
- 古いログを圧縮して保存し、一定世代を超えたら自動削除する
- /etc/logrotate.d/ にサービスごとの設定ファイルを配置する
- ディスク容量の枯渇を防ぐサーバー運用の基本ツール
サーバーのディスクが満杯になっちゃった!原因は何?
ログファイルの肥大化が原因であることが多いよ。放っておくとアクセスログだけで何十GBにもなることがある。logrotateを正しく設定しておけば防げるんだ。
logrotateはどんなことをしてくれるの?
たとえば「毎日ログを新しいファイルに切り替えて、古いログは圧縮して7世代まで保管、それ以上古いものは自動削除」みたいなことを設定一つでやってくれるよ。
設定はどこに書くの?
/etc/logrotate.d/ ディレクトリにサービスごとの設定ファイルを置くよ。dailyで毎日ローテーション、rotate 7 で7世代保管、compressで古いログをgzip圧縮。copytruncateを使えば、ログを書き込み中のサービスを止めずにローテーションできるんだ。
設定が正しく動くか確認する方法はある?
まとめ:ざっくりこれだけ覚えればOK!
「logrotate」って出てきたら「ログファイルの自動ローテーション・管理ツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「log rotate」 = ログ回転
💬 ログを「ローテーション(回転)」させて古いものを順繰りに管理する仕組みだよ