在 Debian 里“清 syslog 日志”通常有以下几种场景和做法,不要直接删文件(可能导致服务继续写旧 inode),推荐用下面方式。
Debian 通常使用 rsyslog:
ls -lh /var/log/syslog
ls -lh /var/log/messages
sudo truncate -s 0 /var/log/syslog
其他日志同理:
sudo truncate -s 0 /var/log/messages
✅ 不会中断 rsyslog
✅ 文件 inode 不变
Debian 现在默认用 systemd,很多日志在 journal 里:
查看日志大小:
journalctl --disk-usage
清空所有 journal 日志:
sudo journalctl --vacuum-time=1s
或按大小:
sudo journalctl --vacuum-size=50M
Debian 自带 logrotate,一般不用手动清:
sudo logrotate -f /etc/logrotate.conf
查看 syslog 配置:
cat /etc/logrotate.d/rsyslog
sudo systemctl stop rsyslog
sudo rm /var/log/syslog
sudo systemctl start rsyslog
⚠️ 有风险,生产环境不建议
编辑:
sudo nano /etc/rsyslog.conf
减少级别,例如:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
然后重启:
sudo systemctl restart rsyslog
✅ 立即清空:truncate -s 0 /var/log/syslog
✅ 清理 systemd 日志:journalctl --vacuum-size=50M
✅ 长期管理:用 logrotate
如果你能说下:
我可以给你更精确的命令。