使用logrotate分割遇到的问题

  • Post author:
  • Post category:其他


安装

使用apt直接安装即可

apt-get install -y logrotate

下图是按照完成,

配置

给一个nginx按天分割,并压缩的示例

/var/log/*.log {
        daily
        missingok
        rotate 14 
        compress
	copytruncate
        delaycompress
        dateext
        notifempty
}

参数
说明
daily
每天轮询分割,压缩
missingok
忽略所有错误
rotate 14
保留14天的压缩文件
compress
对归档处理的文件进行压缩
copytruncate
复制并截断
delaycompress
与compress配合使用,表示本次归档的不进行压缩
dateext
后缀使用时间
notifempty
日志为空不处理

使用

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

即可。



版权声明:本文为Ben_zp原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。