在 Debian 系统中,如果 日志导致磁盘空间满了,可以按下面的思路和方法清理。
df -h
查看哪个分区使用率 100%。
再看日志目录占用:
du -sh /var/log
du -sh /var/log/* | sort -h
Debian 默认使用 systemd-journald。
journalctl --disk-usage
# 保留最近 7 天
journalctl --vacuum-time=7d
# 保留 500MB
journalctl --vacuum-size=500M
编辑:
sudo nano /etc/systemd/journald.conf
修改或添加:
SystemMaxUse=500M
MaxRetentionSec=7day
重启:
sudo systemctl restart systemd-journald
常见大文件:
/var/log/syslog
/var/log/auth.log
/var/log/kern.log
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/auth.log
⚠️ 直接
rm可能导致服务仍占用空间
Debian 通常会保留 .gz 历史日志:
ls /var/log/*.gz
删除旧压缩日志:
sudo rm -f /var/log/*.gz
或使用 logrotate 手动执行:
sudo logrotate -f /etc/logrotate.conf
sudo apt clean
sudo apt autoclean
sudo du -x -h / | sort -h | tail -20
确保:
/etc/logrotate.d/
配置合理(size / rotate)
例如 nginx / docker / 应用日志过多时调整 level
apt install nagios-plugins-basic
或使用 df + cron 报警
如果连命令都报错:
# 删除一个正在写入的大日志
sudo find /var/log -type f -size +100M -exec truncate -s 0 {} \;
如果你愿意,可以贴一下:
df -h
du -sh /var/log/*
我可以帮你具体分析是哪一个日志在爆盘。