Debian /var 满了,日志撑爆磁盘?
/var 分区 100% 时先定位是谁占满:journal 日志、轮转旧日志、apt 缓存是三大常客。本文给出 du 定位与限流/清理的固定操作路径。
简短答案
/var 爆了先别急着删文件,用 df -h + du 定位占用大户。三大常客:systemd journal 无上限增长、旧轮转日志(.gz/.1)、apt 下载缓存。清理之外务必给 journal 设持久上限,否则会反复爆。
现象对照
| 现象 | 排查点 |
|---|---|
| df -h /var 显示 100% | 逐层 du 找子目录 |
| /var/log 里 journal 目录特别大 | journald 未设 SystemMaxUse |
| /var/cache/apt 异常大 | 长期装包没清缓存 |
排查步骤
df -h /var
sudo du -xh --max-depth=1 /var | sort -rh | head
sudo journalctl --disk-usage
sudo journalctl --vacuum-time=7d # 只保留最近 7 天
sudo apt clean
给 journal 设持久上限,重启服务生效:
echo "SystemMaxUse=200M" | sudo tee -a /etc/systemd/journald.conf
sudo systemctl restart systemd-journald
旧轮转日志(如 messages.1.gz)确认无用后再删;Debian 13.7 DVD 在网络安装版上流程一致,Debian 发行条目 有基础定位方法。Ubuntu 机器日志机制同为 journald,处理法可对照其 Ubuntu 发行条目。
操作小结
df -h+du先定位占用目录,不盲目删- journal 用
--vacuum-time回收并设 SystemMaxUse - apt 缓存
apt clean一次到位 - 旧轮转日志删前确认无排查需要,避免删到取证证据