web-dev-qa-db-ja.com

Apacheでエラーログファイルを削除できますか?問題が発生しますか?

重複の可能性:
httpd(CentOS)のLogrotate設定

apacheでエラーログファイルを削除できますか。何か問題は?サーバースペースを食うから

6
user1010966

ログファイルをクリアする必要がある場合は、

cp /dev/null /var/log/file

または

echo > /var/log/file

これにより、開いているファイルハンドルを閉じずにファイルが切り捨てられます。

編集:logrotateを使用してファイルを処理することは、長期的な解決策として優れています。ファイルのトランケートは緊急対策です。

12
Rob Bos

古いログファイルをすぐに削除するのではなく、logrotateを使用することをお勧めします。比較のために、後で何かをデバッグしたり、システムが正常に動作していたときのパターンを見つけたりするためにそれらが必要になる場合があります。

バックアップとリカバリが非常に求められているのには理由があります。ただし、これが運用サーバーでも重要でもない場合は、削除してもかまいません。

3

それらを使用しない場合は、削除できます。すべてのログを削除することをお勧めしますが、現在のログは削除しないでください。可能であれば、logrotateを使用してください。

使用中の場合、ログを削除すると、Apacheがリロードされ、削除されたばかりのファイルが再度開かれます。実際に試すことができるのは、logrotate、またはファイルを空にすることです。私はあなたがする必要があると思いますSIGUSR1アパッチ。

この link が役立つ場合があります。

編集:ちょうどテスト済み:

# > /var/log/Apache2/access.log
# tail -F /var/log/Apache2/access.log
.. Still prints lines ....
# rm /var/log/Apache2/access.log ; touch /var/log/Apache2/access.log
# tail -F /var/log/Apache2/access.log
.. displays nothing ....
# kill -USR1 $(pidof Apache2)
# tail -F /var/log/Apache2/access.log
.. prints lines again ....

Edit2:Apacheのシグナルに関する詳細情報について@voretaqに感謝します。 SIGUSR1は確かにSIGHUPより暴力的ではありません。

0
aif