CentOS Cleanup能删除日志文件
CentOS系统中的“Cleanup”操作(通常指系统清理脚本或手动执行的清理命令)支持删除日志文件,是维护系统磁盘空间、保持日志整洁的重要手段。以下是具体的清理方式及注意事项:
journalctl是systemd的日志管理工具,可直接清理系统日志:
journalctl --vacuum-time=2weeks(删除两周前的所有日志)、journalctl --vacuum-time=3d(删除3天前的日志);journalctl --vacuum-size=100M(将日志文件总大小限制在100MB以内);journalctl --rotate(删除旧日志并保留最新日志)。/var/log/journal/目录下的systemd日志文件进行清理。/var/log是CentOS系统日志的主要存储目录,可通过以下命令手动清理:
cat /dev/null > /var/log/messages(清空系统消息日志)、cat /dev/null > /var/log/secure(清空安全认证日志);find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;(删除修改时间超过30天的.log文件)、find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 {} \;(截断大小超过50MB且修改时间超过7天的日志文件)。/var/log下的关键日志(如/var/log/boot.log系统启动日志、/var/log/cron计划任务日志),以免影响故障排查。logrotate是CentOS默认的日志轮转工具,可自动压缩、删除旧日志,避免日志文件无限增长:
/etc/logrotate.conf是全局配置文件,包含日志轮转的基本规则(如保留7个旧日志、压缩旧日志);/etc/logrotate.d/目录下创建针对特定服务(如rsyslog、httpd)的配置文件,例如:/var/log/httpd/*.log {
daily # 每天轮转
rotate 7 # 保留7个旧日志
compress # 压缩旧日志
missingok # 日志不存在时不报错
notifempty # 日志为空时不轮转
create 640 root adm # 创建新日志文件并设置权限
}
logrotate -f /etc/logrotate.conf(强制执行轮转)。logrotate,可实现日志的定期自动清理,无需手动干预。sudo或root权限,避免权限不足导致操作失败;/var/log/messages、/var/log/secure),防止误删导致故障排查困难;/var/log/messages当前正在写入的日志),否则可能影响系统服务运行。