安装
使用apt直接安装即可
apt-get install -y logrotate
下图是按照完成,
配置
给一个nginx按天分割,并压缩的示例
/var/log/*.log {
daily
missingok
rotate 14
compress
copytruncate
delaycompress
dateext
notifempty
}
参数 | 说明 |
| 每天轮询分割,压缩 |
| 忽略所有错误 |
| 保留14天的压缩文件 |
| 对归档处理的文件进行压缩 |
| 复制并截断 |
| 与compress配合使用,表示本次归档的不进行压缩 |
| 后缀使用时间 |
| 日志为空不处理 |
使用
1.手动执行方法,v表示可视化执行结果,f表示强制分割,首次使用推荐使用v,能显而易见的看到报错
logrotate -vf /etc/logrotate.d/nginx
2.可以通过定时任务执行
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx >> /tmp/logrotate.log
问题
1.error: skipping "/var/log/access.log" because parent directory has insecur
2.error: Ignoring /etc/logrotate.d/nginx because of bad file mode - must be 0644 or 0444.
以上两个错误都是因为权限不对
1.配置文件/etc/logrotate.d/nginx必须是644的权限
2.被操作的log文件的父级目录也必须是644权限
好记性不如烂笔头
如果想要分割的同时进行压缩,基于我上面的配置去掉 delaycompress 即可。