ぱそくま ろご
Linux > Apache HTTP > ログのローテーション

ログのローテーション

ログは肥大する

Apache httpdのログは通常、10,000リクエスト毎に1MB以上増えます。 よって、ログの定期的なメンテナンスが必要になります。

ログのローテーション

以下の手順で新しいログファイルに交替し、古いログを圧縮して保管することができます。

  • # cd /var/log/httpd
  • # mv access_log access_log.old
  • # mv error_log error_log.old
  • # apachectl graceful
  • # sleep 600
  • # gzip access_log.old error_log.old


rotatelogs

rotatelogsはapache httpdに付属している簡易的にログをローテーションしてくれるソフトです。使用方法はhttpd.confのログの設定ディレクティブにパイプ「|」 (外部実行ファイルに結果を渡し、処理をする方法) を使った設定を行います。

設定例:1

  • ErrorLog "|bin/rotatelogs /var/logs/errorlog 5M"

/var/logs/errorlogのサイズが5Mになったらrotatelogsがローテーションをいます。

設定例:2

ErrorLog "|bin/rotatelogs -l /var/logs/errorlog 86400" もしくは
ErrorLog "|bin/rotatelogs /var/logs/errorlog 86400 540"

1日(86400秒)毎にローテーションします。ローカルタイムで行う場合、-lをつけます。日本との時差は9時間(540分)なのでどちらでも