在 Debian 系统中,日志占用空间过大通常是 systemd journal(/journald)、rsyslog/logrotate 或 应用日志 引起的。可以按下面步骤逐步排查和解决。
df -h
du -sh /var/log/*
常见大日志位置:
/var/log/journal(systemd 日志)/var/log/syslog/var/log/auth.log/var/log/nginx、/var/log/mysql 等应用日志journalctl --disk-usage
# 保留最近 7 天
sudo journalctl --vacuum-time=7d
# 限制总大小为 500M
sudo journalctl --vacuum-size=500M
编辑配置:
sudo nano /etc/systemd/journald.conf
修改或添加:
SystemMaxUse=500M
SystemKeepFree=1G
MaxRetentionSec=7day
重启服务:
sudo systemctl restart systemd-journald
sudo rm -f /var/log/syslog.*
sudo rm -f /var/log/auth.log.*
Debian 默认启用 logrotate:
sudo logrotate -d /etc/logrotate.conf # 测试
sudo logrotate -f /etc/logrotate.conf # 强制执行
编辑:
sudo nano /etc/logrotate.d/rsyslog
示例:
/var/log/syslog {
size 100M
rotate 4
compress
missingok
notifempty
}
sudo tail -f /var/log/syslog
journalctl -p err -b
journalctl --vacuum-time=7d
sudo rm -f /var/log/*.gz
sudo logrotate -f /etc/logrotate.conf
如果你愿意,可以贴一下:
du -sh /var/log/*
journalctl --disk-usage
我可以帮你精确判断是哪里的问题。