清理 CentOS 的 messages 日志(通常是 /var/log/messages)有几种常见、安全的方法,下面按推荐程度给你说明(适用于 CentOS 6/7/8)。
ls -lh /var/log/messages
不会删除文件,也不会影响系统
sudo truncate -s 0 /var/log/messages
或者:
sudo > /var/log/messages
✅ 适合:日志太大、想立刻释放空间
如果 messages 是由 rsyslog + systemd 管理:
journalctl --disk-usage
sudo journalctl --vacuum-size=100M
或按时间:
sudo journalctl --vacuum-time=7d
CentOS 默认会轮转日志:
ls /var/log/messages*
可能看到:
messages
messages-20240101
messages-20240108
删除旧文件:
sudo rm -f /var/log/messages-*
⚠️ 不要删除 messages 本身
sudo systemctl restart rsyslog
编辑:
sudo vi /etc/logrotate.d/syslog
示例(已存在,可检查):
/var/log/messages {
rotate 7
daily
missingok
notifempty
compress
delaycompress
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
endscript
}
生效:
sudo logrotate -f /etc/logrotate.conf
rm -f /var/log/messages
❌ 可能导致 rsyslog 不再写入日志,需重启服务才能恢复
tail -f /var/log/messages
如果刷屏严重,可能是:
sudo truncate -s 0 /var/log/messages
sudo systemctl restart rsyslog
sudo journalctl --vacuum-size=100M
如果你愿意,可以告诉我:
cat /etc/centos-release)du -sh /var/log/messages)我可以给你更精准的清理方案 ✅