1.关于日志切割
日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。
logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。
2.安装logrotate
默认centos系统安装自带logrotate,安装方法如下
yum -y install logrotate crontabs
软件包信息说明
[root@clsn6 ~]# rpm -ql logrotate
/etc/cron.daily/logrotate
/etc/logrotate.conf # 主配置文件
/etc/logrotate.d # 配置目录
logrotate的配置文件是/etc/logrotate.conf
通常不需要对它进行修改。日志文件的轮循设置在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下。
3.实践配置logrotate
3.1 测试logrotate如何管理日志
这里我们将创建一个5GB的日志文件/var/log/eve.json。我们将展示怎样使用logrotate来管理该日志文件。
上面的模板是通用的,而配置参数则根据你的需求进行调整,不是所有的参数都是必要的。也可以通过man手册中的例子进行配置。
执行后的效果为
3.2配置文件说明
3.3 Logrotate定时任务
logrotate需要的cron任务应该在安装时就自动创建了。在我的应用中使用的是crontab来配合切割,因为是根据容量来切割的。
4.常见配置参数小结