CentOS清理日志文件主要有以下几种方法及步骤:
journalctl 命令(推荐)适用于清理系统日志,保留指定时间段的日志。
sudo journalctl --vacuum-time=7d # 删除7天前的日志
sudo journalctl --vacuum-size=100M # 删除超出100MB的旧日志
需谨慎操作,避免删除系统关键日志。
sudo rm -f /var/log/messages # 删除系统消息日志(谨慎操作)
sudo rm -rf /var/log/httpd/* # 删除Apache日志(需确认服务已停止)
sudo truncate -s 0 /var/log/syslog # 清空syslog内容
logrotate 工具(自动化管理)适合定期轮转、压缩和删除旧日志。
sudo vi /etc/logrotate.conf # 全局配置(如设置默认保留天数)
sudo vi /etc/logrotate.d/httpd # 针对Apache的配置示例
示例配置(保留7天日志,压缩旧日志):/var/log/httpd/*.log {
daily
rotate 7
compress
missingok
notifempty
}
sudo logrotate -f /etc/logrotate.conf # 强制立即执行轮转
sudo 或 root 权限执行清理命令。/var/log/messages、/var/log/secure 等系统核心日志,以免影响故障排查。crontab 设置定时任务(如每天凌晨清理),避免手动操作遗漏。参考来源: