使用logrotate分割遇到的问题

安装

使用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 即可。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
logrotate 是一个用于管理日志文件的工具,它允许你自动轮转、压缩、删除和管理日志文件。通过 logrotate,你可以定期对日志文件进行轮转,以便保持文件的大小和数量在可控范围内。 使用 logrotate 的基本步骤如下: 1. 创建一个配置文件:在 `/etc/logrotate.d/` 目录下创建一个新的配置文件,命名为你要管理的日志文件。 例如,如果要管理 `/var/log/nginx/access.log`,可以创建一个名为 `nginx` 的配置文件:`/etc/logrotate.d/nginx`。 2. 编辑配置文件:在配置文件中指定日志文件的详细信息和轮转规则。 以下是一个简单的示例配置文件: ``` /var/log/nginx/access.log { rotate 7 # 保留最近的7个日志文件 daily # 每天执行一次轮转 missingok # 如果日志文件不存在,也不报错 compress # 压缩轮转后的日志文件 delaycompress # 在下一次轮转时才压缩 notifempty # 如果日志文件为空,不进行轮转 create 0644 # 创建新的轮转后日志文件的权限 sharedscripts # 在所有脚本执行前执行 postrotate 脚本 postrotate /usr/bin/systemctl reload nginx # 轮转后重新加载 Nginx endscript } ``` 3. 测试配置文件:使用 `logrotate` 命令进行配置文件的测试,检查是否有语法错误: ``` logrotate -d /etc/logrotate.d/nginx ``` 4. 执行轮转:使用 `logrotate` 命令执行轮转操作: ``` logrotate /etc/logrotate.d/nginx ``` 5. 自动化轮转:通常,你会将 logrotate 添加到计划任务中,以便定期自动执行轮转。这可以通过编辑 `/etc/crontab` 文件来完成。 添加类似以下的行来定义 logrotate 的执行频率: ``` 0 0 * * * root /usr/sbin/logrotate /etc/logrotate.conf ``` 以上是一个简单的 logrotate 配置和使用示例。你可以根据实际需求来自定义配置文件中的参数和轮转规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值