7GBのApache2other_vhosts_access.log.1を削除して、サーバーのスペースを解放しました。基本的に、最新のアクセスログを除くすべてを削除しました。最大のものは非圧縮でした-私はそれがlogrotate(実行中)を経由していなかったと思います。
Df -hを実行しても余分なスペースは表示されず、他の質問で述べたようにApache/apachectl restart/reload/graceful
などのすべての組み合わせを試しましたが、結果はありませんでした。 lsof
は、開いているファイルも表示しません。
ログを削除した可能性が高いですが、Apacheがログをロックしています。
lsof
を使用して、(削除済み)を探す必要があります。 IBMガイド ここ 。修正する方法は、Apacheプロセスを再起動してファイルを解放することです。
/ dev/nullをログファイルにコピーしてみてください。これにより、Apacheが保持しているファイルハンドルを閉じずにファイルを切り捨てる必要があります...
cp /dev/null other_vhosts_access.log.1
同じ問題があり、次のように解決しました。
問題:
手動で削除しました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
ファイルが空になり、スペースが解放されました。
お役に立てば幸いです。
私の場合、ubuntuシステムのログを処理するrsyslog
を再起動する必要があり、すべてのディスク領域が解放されました。
これは、Sudo service rsyslog restart
を実行して、またはSudo systemctl restart rsyslog
を使用して16.04+を使用している場合に再開できます。