在 Debian(以及大多数 Linux 系统)中,/var/log/messages 文件用于记录系统日志(由 rsyslog 或 syslog-ng 管理)。不要直接删除该文件,否则正在写入日志的进程可能会出错或无法继续记录。
下面是正确清理 /var/log/messages 的方法。
Debian 默认使用 logrotate 管理日志。
查看是否配置了 messages:
cat /etc/logrotate.d/rsyslog
一般会有类似:
/var/log/messages {
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
手动执行一次:
sudo logrotate -f /etc/logrotate.d/rsyslog
✅ 安全、自动、不会中断日志服务
不要 rm,只清空内容
sudo truncate -s 0 /var/log/messages
或:
sudo > /var/log/messages
✅ 文件保留,权限不变,服务继续写入
清空后可选重启 rsyslog:
sudo systemctl restart rsyslog
sudo systemctl stop rsyslog
sudo rm /var/log/messages
sudo systemctl start rsyslog
⚠️ 有风险,可能导致日志丢失或权限问题
rm 系统日志文件如果你是因为 磁盘满了 / 文件太大 / 某些报错刷屏,可以告诉我具体场景,我可以给你更精准的方案。