在 CentOS 系统中,日志文件过大是常见问题,通常可以通过以下几种方式清理和管理。请根据实际情况操作,不要直接删除正在写入的日志文件(如 /var/log/messages),否则可能导致服务异常。
/var/log/messages:系统常规日志/var/log/secure:安全/登录日志/var/log/maillog:邮件日志/var/log/cron:定时任务日志/var/log/httpd/、/var/log/nginx/:Web 服务日志/var/log/journal/:systemd 日志CentOS 默认已安装 logrotate
查看配置:
cat /etc/logrotate.conf
ls /etc/logrotate.d/
手动执行一次:
logrotate -f /etc/logrotate.conf
✅ 可自动切割、压缩、删除旧日志
> /var/log/messages
> /var/log/secure
或:
truncate -s 0 /var/log/messages
⚠️ 不要 rm 正在使用的日志文件
查看日志占用:
journalctl --disk-usage
清理:
# 保留最近 7 天
journalctl --vacuum-time=7d
# 限制最大 500M
journalctl --vacuum-size=500M
永久限制(编辑):
vi /etc/systemd/journald.conf
SystemMaxUse=500M
重启:
systemctl restart systemd-journald
yum clean all
rm -rf /var/log/tmp/*
du -sh /var/log/*
或:
find /var/log -type f -size +100M
logrotate/var/log> /var/log/nginx/access.log
> /var/log/nginx/error.log
并在 /etc/logrotate.d/nginx 中配置自动轮转。
如果你能告诉我:
我可以给你更精确的清理方案。