削除されたログファイル(/var/log/daemon.log(削除))を削除します。

削除されたログファイル(/var/log/daemon.log(削除))を削除します。

現在、ハードドライブの空き容量が少ないDebianサーバーがあり、このlsof | grep deleted | lessコマンドを使用してすべてのスペースを使用しましたが解放されていない問題のあるファイルを見つけました。

in:imklog   462   518             root    7w      REG                8,1 11199498620    1448243 /var/log/daemon.log (deleted)

99.999%の時間を再起動すると、これらのファイルが解放されることがわかりますが、これはお勧めできません。

以外のファイルを削除すると、logrotateこの問題が発生し、問題が解決します。しかし、私の質問は、再起動せずにアーカイブされたファイルを解放してスペースを解放できないことです。うん、どうですか?

よろしくお願いします。

ベストアンサー1

ログファイルを開いたままにする場所(おそらく)にリロード/再起動するか、HUPシグナル()を送信します。おそらくsystemdを実行しています。kill -1rsyslogd

systemctl restart rsyslog.service

または/etc/init.d/rsyslog restart走っている場合sysvinit

これにより、rsyslogdは設定ファイルを再ロードし、すべてのログファイルを閉じて再度開きます。

(注:ほとんどのデーモンでは、「reload」は設定ファイルを再ロードするか、ファイルを閉じて再開するために使用されるキーワードです。「restart」は停止して開始するために使用されます。何らかの理由で「restart」はrsyslogデーモンにHUPシグナルを送信してリロードをトリガーするためにdebian rsyslogパッケージで使用されます)

そのログファイルの開いたファイルハンドルを保持するプロセスがない場合、使用中のスペースは解放されます。

おすすめ記事