logファイルは、ほっとけばいつのまにか肥大して あわわってなる事があります。 ちなみに、logファイルが規定容量が超えたら動作が不安定になったり 落ちたりします。仕事でも何度かなったことあります・・・ ローテート対象は、access.logだけでなくerror.logもしておいた方がいいです。 SSLやその他、ファイル容量が大きくなるものはできるだけすべてね。 ■Apacheでログローテート httpd.confを修正して機能させます。 CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/%Y%m%d.log 86400 540" combined ※実際は一行で書きます。 これだと、ログディレクトリ内に1日毎に年月日.logって形式で吐いてくれます。 86400は秒単位の1日って事で1週間なら604800になります。 その後ろの、540は日本時間用のオフセット値 ■logrotateを利用 /etc/logrotate.dのディレクトリ内にhttpdを作成します。 ファイル内にはこんな感じで記入します。 apache log Path{ daily rotate 30 compress missingok sharedscripts postrotate /usr/local/apache2/bin/apachectl graceful endscript } これだと、 毎日ローテートして30日分残してくれます。 /etc/logrotate.dディレクトリ内の個々のログファイルの設定ファイルの フォーマットは ログファイル名{ 設定値 ・・・ } になります。ログファイル指定は一度に4個ぐらいまでならOKかと。 設定値の一覧
作成した後は、動作確認をする意味でも下記のコマンドを実行 #logrotate -f /etc/logrotate/file name |
■Apache >