Debian 系统日志过大通常是因为 rsyslog / journald / 应用日志长期积累、未做轮转或配置不合理。下面按常见原因 → 排查方法 → 解决办法说明。
| 类型 | 路径 |
|---|---|
| 系统日志 | /var/log/syslog |
| 内核日志 | /var/log/kern.log |
| 认证日志 | /var/log/auth.log |
| 守护进程日志 | /var/log/daemon.log |
| systemd 日志 | journalctl |
| 应用日志 | /var/log/ 下的自定义目录 |
/etc/logrotate.d/✅ 检查:
ls /etc/logrotate.d/
systemd 默认 不限制 journal 大小
✅ 查看大小:
journalctl --disk-usage
✅ 如果看到:
Archived and active journals take up 4.0G
那就是它了
例如:
✅ 查找最近大量日志:
tail -n 1000 /var/log/syslog
journalctl -f
大量小日志文件(如 debug 日志)
✅ 查看 inode:
df -i
du -ah /var/log | sort -rh | head -20
journalctl --disk-usage
journalctl -f
编辑:
sudo nano /etc/systemd/journald.conf
修改或添加:
SystemMaxUse=200M
RuntimeMaxUse=100M
重启:
sudo systemctl restart systemd-journald
✅ 立即生效,不会丢历史重要日志(只限制新增长)
sudo journalctl --vacuum-size=100M
或按时间:
sudo journalctl --vacuum-time=7d
确认 cron / systemd 正常运行:
systemctl status cron
systemctl status logrotate
手动测试轮转:
logrotate -vf /etc/logrotate.conf
sudo truncate -s 0 /var/log/syslog
⚠️ 不建议 rm,可能破坏服务写日志
debug = falseaccess_logSystemMaxUse=200M
MaxRetentionSec=7day
/var/log/syslog {
rotate 7
daily
compress
missingok
notifempty
}
Debian 日志过大 90% 是
systemd journal或rsyslog没限制 + 没有正确轮转
如果你愿意,我可以:
journalctl --disk-usage/etc/systemd/journald.conf你可以贴一下:
journalctl --disk-usage
du -sh /var/log/*