在CentOS系统中,日志文件的管理对于系统维护和故障排查至关重要。以下是几种常见的日志清理方法及其步骤:
journalctl
journalctl --vacuum-time=2weeks
(保留最近2周的日志)journalctl --vacuum-time=2weeks --unit=service_name
(将service_name
替换为你想要清理的服务名称)journalctl --vacuum-time=2weeks --user=username
(将username
替换为你想要清理日志的用户名称)。ls -l /var/log
sudo rm /var/log/httpd/error_log
sudo rm -rf /var/log/*
。sudo yum install logrotate
/etc/logrotate.d/rsyslog
文件,添加以下内容:
/var/log/*.log { rotate 7 daily compress missingok notifempty copytruncate }
这个配置表示每天轮转一次日志文件,保留7个旧的日志文件,并压缩旧的日志文件。sudo logrotate -f /etc/logrotate.d/rsyslog
(强制进行日志轮转)。#!/bin/bash
LOG_DIR="/var/log"
for log_file in $LOG_DIR/*; do
if [ -f "$log_file" ]; then
du -hm "$log_file" | awk '{print $2, $1}' | sort -nr | head -n 10
if [ $(du -sm "$log_file" | awk '{print $1}') -gt 100 ]; then
echo "Cleaning $log_file"
rm -rf "$log_file"
fi
fi
done
crontab -e
,添加以下内容:0 3 * * * /path/to/clean_log.sh
(表示每天凌晨3点运行清理脚本)。通过以上方法,你可以有效地管理和清理CentOS系统中的日志文件,释放磁盘空间,提高系统性能。