web-dev-qa-db-ja.com

/ home / httpd /.../ stats /エラーファイルの増加に制限を設定する方法

VPSアカウントを持っています。

ファイル:

/home/httpd/..../stats/...-error_log

非常に多くのエラーをログに記録しているため、24時間以内に20 GBのハードドライブの空き容量がいっぱいになりますこれにより、メールアクセスがシャットダウンされます。

これらのエラーのほとんどは反復的でマイナーであり、最終的には修正しますが、最初にエラー記録を設定するにはどうすればよいですかさまざまなファイルを作成し、新しいファイルを作成する前に古いファイルを削除します?これは、私が過去に取り組んだLinuxWebサーバーでの作業からそれを覚えている方法です。これが実際のデフォルト設定だと思っていたでしょうが、ほとんどのVPSサーバー(私のアカウントはCentOSを使用しています)ではありませんか?

1
Edward Tanguay

ログサイズを制限する最良の方法は、logrotateを使用することです。 「manlogrotate」と/etc/logrotate.confをチェックしてください。ログが特定の年齢またはサイズに達したときにログを自動的に圧縮およびローテーションするように構成できます。サイズはあなたの状況でより良い選択です。

2
Josh

探索するオプションがいくつかあります...

まず、問題に取り組む準備ができるまで、いつでもApache構成に移動し、その特定のエラーログを無効にすることができます。/etc/httpdディレクトリでErrorLog行を見つけて、コメントアウトします。

2番目:「logrotate」を1時間ごとに実行できます。すでに毎日のログローテーションがあり、24時間未満のことが問題の原因であると思います。 CentOSでは、そのログをローテーションするための設定は/etc/logrotate.d/httpdにある必要があります-そのログファイルの時間ベースではなくサイズベースにすることができます。時間単位のバージョンをカスタム構成に渡さない限り、他のファイルのログローテーションが同期しなくなります。 /etc/cron.daily/logrotateを/etc/cron.hourly/logrotateに移動またはコピーするだけで、簡単に解決できます。

3番目:「rotatelogs」を調べます。これはApacheに付属しており、独自のマンページがあります。欠点は、削除を行わず、基準(サイズ、時間など)でログを分割するだけであるということです。だからあなたはまだ必要だろう

4番目:ログが圧縮されました。 GZipは、ほとんどのログファイルで10:1の圧縮率を取得する必要があります。次のようなもの:ErrorLog "| gzcat>/home/httpd /..../ stats /...- error_log.gz"(ただし、何らかの作業ローテーションがあることを確認してください。そうでない場合は、同じ問題が発生します。数日)

2
freiheit