CentOS 清理 messages 日志的实用方法
一、先确认日志来源与占用
du -sh /var/log/messages /var/log/secure /var/log/maillog /var/log/cronjournalctl --disk-usage二、清理 /var/log/messages 文件(rsyslog 写入)
> /var/log/messages 或 truncate -s 0 /var/log/messagescp /var/log/messages /var/log/messages.baklogrotate -f /etc/logrotate.conf(或针对 rsyslog:logrotate -f /etc/logrotate.d/rsyslog)rm -f /var/log/messages-*systemctl restart rsyslogrm 正在写入的日志文件,否则可能出现“磁盘未释放”的现象;清空或轮转是更可靠做法。三、清理 systemd journal 日志(journald 管理)
journalctl --vacuum-time=7d(示例保留最近 7 天)journalctl --vacuum-size=500M(示例最多保留 500MB)/etc/systemd/journald.conf
SystemMaxUse=100M(示例值,可按需调整)systemctl restart systemd-journaldjournalctl --disk-usage 对比占用变化。四、长期治理与优化建议
cat /etc/logrotate.conf /etc/logrotate.d/*logrotate -f 强制执行一次/etc/rsyslog.conf 中调整或注释写入到 /var/log/messages 的规则,例如将 *.info;mail.none;authpriv.none;cron.none /var/log/messages 调整为更严格的过滤,然后 systemctl restart rsyslogdf -h、du -sh /var/log/*