一、轮转策略概述
1.日志堆积产生的问题
日志越来越多、空间不够?
手动删除太折腾?
怎样自动清除过期的日志记录?
2.循环备份机制
固定备份个数,去旧迎新
减小日志文件大小,降低分析难度
丢弃过期日志以节省空间
结合cron计划任务每天执行
3.了解logrotate
logrotate软件包
[root@hadoop ~]# rpm -ql logrotate
/etc/cron.daily/logrotate //每日计划执行的脚本
/etc/logrotate.conf //主配置文件
/etc/logrotate.d //存放用户定义的策略
/usr/sbin/logrotate //主程序
/usr/share/doc/logrotate-3.7.8
/usr/share/doc/logrotate-3.7.8/CHANGES
/usr/share/doc/logrotate-3.7.8/COPYING
/usr/share/man/man5/logrotate.conf.5.gz
/usr/share/man/man8/logrotate.8.gz
/var/lib/logrotate.status //轮转记录状态
二、轮转的配置及执行
1.轮转配置解析
配置文件路径
−全局设置:/etc/logrotate.conf
−自定义设置:/etc/logrotate.d/*
轮转的间隔时间、最小容量
−例如:minsize和monthly同时满足,才需要轮转
2.轮转配置示例
为日志文件/var/log/yum.log 配置轮转
−使用size 时,与monthly 时间间隔互斥
−后配置的生效
3.轮转的执行及测试
手工执行轮转(指定配置文件)
[root@hadoop ~]# logrotate /etc/logrotate.conf
查看最新的轮转记录
[root@hadoop ~]# tail -4 /var/lib/logrotate.status
"/var/log/secure" 2022-8-15
"/var/log/messages" 2022-8-15
"/var/log/cron" 2022-8-15
"/var/log/vsftpd.log" 2022-8-15
三、轮转应用实例
1.案例需求
任务目标
−1)新建一个日志文件/var/log/test.log
−2)为此日志文件配置轮转策略:达到100K时轮转、自动补建、保留7个备份、备份文件以日期结尾、启用压缩
2.建立轮转配置文件
3.测试轮转效果
手动轮转及测试
−利用cp或dd工具变换日志文件/var/log/test.log 大小
−观察轮转效果、执行记录