読者です 読者をやめる 読者になる 読者になる

長生村本郷Engineers'Blog

千葉県長生村本郷育ちのエンジニアが書いているブログ

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

logrotate

概要

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

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

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

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

gist.github.com


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

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

dateext
ログの保存期間を半年(53/2 週≒27)にする
# keep 4 weeks worth of backlogs
rotate 27

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

日付

過去ファイルを圧縮する

# uncomment this if you want your log files compressed
compress

gist.github.com




apacheログの日付毎のrotate

/etc/logrotate.d/httpd

daily追加

gist.github.com





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

error_log-20150315.gz
error_log

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