Debian
刪除已刪除的日誌文件 (/var/log/daemon.log (deleted))
我目前有一個 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 信號來觸發重新載入)
一旦沒有程序保留該日誌文件的打開文件句柄,它正在使用的空間將被釋放。