在 CentOS 上做日志清理(log cleanup)总体是好的、也是必要的,但要注意方式方法,否则可能带来风险或误删重要信息。下面给你一个清晰的建议清单。
/var/log 或 / 分区被写满logrotate(最推荐)CentOS 默认已安装并配置 logrotate
/etc/logrotate.conf
/etc/logrotate.d/
常见行为:
.gz)✅ 一般不需要手动删,只需检查配置是否合理
查看示例:
cat /etc/logrotate.d/syslog
例如:
# 删除 30 天前的日志
find /var/log -name "*.log-*" -mtime +30 -delete
或只删压缩日志:
find /var/log -name "*.gz" -mtime +30 -delete
✅ 安全
❌ 不要直接删正在写入的日志文件
如果你发现某个日志很大(如 messages):
❌ 错误:
rm /var/log/messages
✅ 正确:
> /var/log/messages
或
truncate -s 0 /var/log/messages
| 行为 | 风险 |
|---|---|
rm -rf /var/log/* |
系统可能异常、服务无法写日志 |
删除 .journal 文件 |
journald 可能崩溃 |
| 删正在写入的日志 | 磁盘空间不释放(文件句柄未释放) |
journalctl --disk-usage
journalctl --vacuum-time=7d
journalctl --vacuum-size=500M
✅ CentOS 清理日志是好的
✅ 用 logrotate + 定期 vacuum
❌ 不要暴力 rm
如果你愿意,我可以:
/var/log 占用