web-dev-qa-db-ja.com

削除されたApacheアクセスログはまだスペースを占めています

7GBのApache2other_vhosts_access.log.1を削除して、サーバーのスペースを解放しました。基本的に、最新のアクセスログを除くすべてを削除しました。最大のものは非圧縮でした-私はそれがlogrotate(実行中)を経由していなかったと思います。

Df -hを実行しても余分なスペースは表示されず、他の質問で述べたようにApache/apachectl restart/reload/gracefulなどのすべての組み合わせを試しましたが、結果はありませんでした。 lsofは、開いているファイルも表示しません。

5
rebelbass

ログを削除した可能性が高いですが、Apacheがログをロックしています。

lsofを使用して、(削除済み)を探す必要があります。 IBMガイド ここ 。修正する方法は、Apacheプロセスを再起動してファイルを解放することです。

4
Sc0rian

/ dev/nullをログファイルにコピーしてみてください。これにより、Apacheが保持しているファイルハンドルを閉じずにファイルを切り捨てる必要があります...

cp /dev/null other_vhosts_access.log.1
3
zero_r

同じ問題があり、次のように解決しました。

問題:

手動で削除しましたaccess_logおよびerror_logディレクトリ内/var/www/vhosts/mywebsite/logs/mywebsite1/スペースを解放しますが、ファイルが消えてもスペースは解放されません。

解決:

サイズでソートされたlsofを使用して大きなファイルを検索しました(コマンドが見つかりました ここ ):

lsof -s | awk '$5 == "REG"' | sort -n -r -k 7,7 | head -n 100

2つの大きなファイルを見つけましたaccess_logおよびerror_log別のパス(前のパスとの違いに注意):

/var/www/vhosts/system/mywebsite1/logs/

次のコマンドでこれら2つのファイルをリセットします。

:>/var/www/vhosts/system/mywebsite1/logs/access_log

:>/var/www/vhosts/system/mywebsite1/logs/error_log

ファイルが空になり、スペースが解放されました。

お役に立てば幸いです。

1
Davide

私の場合、ubuntuシステムのログを処理するrsyslogを再起動する必要があり、すべてのディスク領域が解放されました。

これは、Sudo service rsyslog restartを実行して、またはSudo systemctl restart rsyslogを使用して16.04+を使用している場合に再開できます。

0
Hassek