/var/log下经常可以看到一些.gz,如kern.log.2.gz这种,这些文件是怎么生成的呢?他们是由linux下的logrotate文件产生的,由gz是因为设定了要进行压缩
大部份的log文件在系统中都会有一定的规则进行滚动记录,这些配置文件被保存在/etc/logrotate.d/下面,如rsyslog, 文件内容如下
这边的/var/log/syslog的设定就是
- rotate 7 : 保留7个文件
- daily: 每天就行rotate
- missingok: 可以有缺失
- notifempty: 如果是空不进行rotate
- delaycompress: 前一次的log不进行压缩,相当于这次的+ 上次的有两个不压缩的文件
- compress:对log进行压缩操作
至于最后的
则是执行完rotate 后再执行这个脚本
剩下的问题是logrotate是什么时候执行的,我们可以看到cron.daily下有个logrotate的job,也就是说每天执行一次
同时/etc/crontab 下设定了cron.daily什么时候执行, 这里看到的是6:25 也就是每天的6:25 进行logrotate
有兴趣的同学,可以man logrotate 查看更多内容