- ベストアンサー
ログをもっと少なくしたい。
redhat7.3をつかっています。 現在apacheは1.3.33ですが/usr/local/apache/log 内にあるaccess_logやerror_logなどが膨大に増え、300Mとかになっています。 これをもう少し少なくできないでしょうか? またこのあたりのログはローテーションはされないのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
/etc/logrotate.d というディレクトリの中に、httpd というファイルはないでしょうか? もしあれば、その中に /usr/local/apache/log/access_log や、/usr/local/apache/log/error_log の記述を追加すれば良いと思います。 /var/log/httpd/*log { … } となっていたら、 /usr/local/apache/log/*log { … } とすれば良いでしょう。
その他の回答 (3)
- entree
- ベストアンサー率55% (405/735)
エラーログについては LogLevel warn くらいにするとそれなりに出なくなると思います。 それでも出るようであれば、定期的にスイッチする必要があるでしょう。 アクセスログについても定期的にスイッチし、1週間経過したら削除するかアーカイブするなどの対処をします。 ログスイッチはファイルを強引に移動してApacheを再起動(apachectl graceful)するだけなので、簡単なスクリプトで作成できるでしょう。gracefulオプションで再起動した場合、接続中のユーザが強制的に切断されたりすることもないようになっています。
- kuny2005
- ベストアンサー率67% (21/31)
>またこのあたりのログはローテーションはされないのでしょうか? 意図的に設定しないとログのローテーションはされません。 一番簡単にapacheログをローテーションさせるのはhttpd.confで設定する方法かと思います。 ErrorLog "|<rotatelogのパス> <apacheのログディレクトリ>/error%Y%m%d.log 1D" CustomLog "|<rotatelogのパス> <apacheのログディレクトリ>/access%Y%m%d.log 1D"combined 例> ErrorLog "|/usr/local/apache/bin/rotatelogs /home/user/log/error%Y%m%d.log 1D" CustomLog "|/usr/local/apache/bin/rotatelogs /home/user/log/access%Y%m%d.log 1D"combined 1日づつログを分けてくれます。 ただ、この方法は簡単でいいのですが、どんどんログファイル溜まっていくので以下の様なシェルスクリプトを作成してcronで実行するのが一番いいと思います。 <毎月1日の0時0分> 1・ログファイルを別ファイル名(年月)で圧縮 2・ログファイルを削除 <毎年1月1日0時0分> 1・去年のログの圧縮ファイルを削除 如何でしょうか?
- asuca
- ベストアンサー率47% (11786/24626)
エラーレベルの設定を行えばいけるのではないかと思います。
お礼
このアクセスログはいつまで保持するのでしょうか? 何件かになったらログは削除されていくのですか?