在 CentOS 系统中,回收日志文件通常是指压缩、归档和删除旧的日志文件。这可以通过以下步骤实现:
gzip 命令压缩日志文件。例如,如果你想要压缩 /var/log/messages 文件,可以执行以下命令:gzip /var/log/messages
这将会创建一个名为 messages.gz 的压缩文件,并删除原始的未压缩文件。
/var/log/archive 目录:mkdir -p /var/log/archive
mv /var/log/messages.gz /var/log/archive/
find 命令来实现这一目标。例如,删除 30 天前的日志文件:find /var/log -type f -name "*.gz" -mtime +30 -exec rm {} \;
这将会删除 /var/log 目录下所有 30 天前的 .gz 文件。
logrotate 工具来自动执行上述操作。首先,确保已经安装了 logrotate:yum install logrotate -y
然后,创建一个名为 /etc/logrotate.conf 的配置文件,或者编辑 /etc/logrotate.d/syslog 文件,添加以下内容:
/var/log/messages {
daily
rotate 7
compress
missingok
notifempty
create 0640 root root
}
这个配置表示每天压缩一次 /var/log/messages 文件,保留最近 7 天的日志文件,并在压缩后删除原始文件。
最后,确保 logrotate 服务已启用并设置为开机启动:
systemctl enable logrotate
systemctl start logrotate
现在,logrotate 将根据配置自动回收日志文件。你可以根据需要调整配置文件中的选项。