logrotate ログファイル名に日毎に日付追加 保存期間 過去ファイル圧縮 設定

概要

/etc/logrotate.conf 初期設定では、以下の不便さがあります。

  • error_log.1とファイル名に連番が振られていて、具体的な日付がわかりにくい。
  • 基本、logを残すのは4week となっており、1ヶ月分程度しか情報がなく、過去に遡ってそもそも調査できないケースがある
  • ファイルが圧縮されず容量を食ってしまう。

調査時に非常に不便です。

httpdをyumでインストールした場合、初期logrotate.confの設定は
以下のようになっています。

日付をログファイル名に付与する

/etc/logrotate.conf に以下一文を追記してください

1
dateext

ログの保存期間を半年(53/2 週≒27)にする

1
2
# keep 4 weeks worth of backlogs
rotate 27

※ディスク容量の問題もあるかと思いますので設定前に月どの程度のサイズになるか設定を検討してから決定してください。

日付

過去ファイルを圧縮する

1
2
# uncomment this if you want your log files compressed
compress

apacheログの日付毎のrotate

設定後翌日

以下のように出力されていることがわかります。

1
2
error_log-20150315.gz
error_log

logrotate.confに全角文字が存在する場合、正しくrotateされない可能性があるので注意してください。

logrotate ログファイル名に日毎に日付追加 保存期間 過去ファイル圧縮 設定

https://kenzo0107.github.io/2015/03/16/2015-03-17-logrotate-daily/

Author

Kenzo Tanaka

Posted on

2015-03-17

Licensed under

コメント