• ベストアンサー

ログをもっと少なくしたい。

redhat7.3をつかっています。 現在apacheは1.3.33ですが/usr/local/apache/log 内にあるaccess_logやerror_logなどが膨大に増え、300Mとかになっています。 これをもう少し少なくできないでしょうか? またこのあたりのログはローテーションはされないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • haru44
  • ベストアンサー率60% (12/20)
回答No.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)
回答No.3

エラーログについては LogLevel warn くらいにするとそれなりに出なくなると思います。 それでも出るようであれば、定期的にスイッチする必要があるでしょう。 アクセスログについても定期的にスイッチし、1週間経過したら削除するかアーカイブするなどの対処をします。 ログスイッチはファイルを強引に移動してApacheを再起動(apachectl graceful)するだけなので、簡単なスクリプトで作成できるでしょう。gracefulオプションで再起動した場合、接続中のユーザが強制的に切断されたりすることもないようになっています。

  • kuny2005
  • ベストアンサー率67% (21/31)
回答No.2

>またこのあたりのログはローテーションはされないのでしょうか? 意図的に設定しないとログのローテーションはされません。 一番簡単に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)
回答No.1

エラーレベルの設定を行えばいけるのではないかと思います。

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/apache13/apache13a.html
titikun00
質問者

お礼

このアクセスログはいつまで保持するのでしょうか? 何件かになったらログは削除されていくのですか?

関連するQ&A

専門家に質問してみよう