Debian

刪除已刪除的日誌文件 (/var/log/daemon.log (deleted))

  • December 11, 2021

我目前有一個 Debian 伺服器的硬碟空間不足,通過使用該lsof | grep deleted | less命令,我發現了已用完(但未釋放)空間的違規文件。

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

我知道重新啟動將 99.999% 釋放這些文件,但這是不可取的。

我很欣賞刪除文件(而不是 a logrotate)導致了這種情況,所以將解決這個問題,但我的問題是,我可以釋放這些文件被擱置並且不重新啟動就釋放空間嗎?是的,如何?

提前致謝。

重新載入/重新啟動或向保持日誌文件打開的任何對象發送HUP信號 ( )(可能)。您可能正在執行 systemd,因此:kill -1``rsyslogd

systemctl restart rsyslog.service

或者/etc/init.d/rsyslog restart如果你正在跑步sysvinit

這將導致 rsyslogd 重新載入其配置文件,關閉並重新打開其所有日誌文件。

(注意:對於大多數守護程序,“reload”是用於讓它們重新載入配置文件和/或關閉和重新打開任何文件的關鍵字,“restart”用於停止然後啟動它。出於某種原因, “restart” 與 debian rsyslog 軟體包一起使用,通過向 rsyslog 守護程序發送 HUP 信號來觸發重新載入)

一旦沒有程序保留該日誌文件的打開文件句柄,它正在使用的空間將被釋放。

引用自:https://unix.stackexchange.com/questions/680802