在 Debian 系统中,日志过大通常会占用大量磁盘空间,影响系统运行。可以从查看、清理、限制大小、自动轮转几个方面来处理。
df -h
sudo du -sh /var/log/*
常见大日志位置:
/var/log/syslog/var/log/auth.log/var/log/kern.log/var/log/journal/(systemd 日志)/var/log/nginx/、/var/log/apache2/sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/auth.log
⚠️ 不要直接
rm,可能导致服务无法继续写日志
sudo rm -f /var/log/*.log.*
sudo rm -f /var/log/*.[0-9].gz
journalctl --disk-usage
编辑:
sudo nano /etc/systemd/journald.conf
修改或添加:
SystemMaxUse=200M
SystemKeepFree=100M
MaxFileSec=1week
重启服务:
sudo systemctl restart systemd-journald
sudo journalctl --vacuum-size=100M
sudo journalctl --vacuum-time=7d
Debian 使用 logrotate
ls /etc/logrotate.d/
sudo nano /etc/logrotate.d/rsyslog
常见配置:
/var/log/syslog {
size 50M
rotate 4
compress
missingok
notifempty
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service
endscript
}
手动测试:
sudo logrotate -d /etc/logrotate.conf
sudo logrotate -f /etc/logrotate.conf
sudo tail -f /var/log/syslog
sudo journalctl -p err -b
常见原因:
✅ 日常管理建议:
journalctl --vacuum-time=7d如果你愿意,可以告诉我:
cat /etc/os-release)我可以给你针对性的配置方案。