logrotate针对日志定时分割、删除 | 最新快讯

Logrotate本身并不直接通过命令行参数来切割日志文件,而是通过配置文件来定义切割规则。以下是如何配置Logrotate进行日志文件分割的步骤和一些具体的配置指令:

  1. 编辑配置文件: Logrotate的主配置文件通常是/etc/logrotate.conf,但你也可以在/etc/logrotate.d/目录下创建额外的配置文件来处理特定服务的日志。

  2. 配置指令: 在配置文件中,你可以使用以下指令来定义日志文件的处理规则:

    • rotate: 定义日志文件旋转的次数。例如,rotate 7表示保留最近7个版本的日志文件。
    • dailyweeklymonthly: 设置日志旋转的周期。例如,daily表示每天进行一次日志旋转。
    • size: 根据文件大小来旋转日志。例如,size 1M表示当文件达到1MB大小时进行旋转。
    • compress: 旋转后的日志文件会被压缩。
    • delaycompress: 延迟压缩,即新创建的日志文件不立即压缩,直到下次旋转时才压缩。
    • missingok: 如果日志文件不存在,则跳过该文件,不会报错。
    • notifempty: 即使日志文件为空也进行旋转。
    • postrotate: 执行旋转后的一系列命令,例如重启服务以使其开始写入新的日志文件。
    • endscript: 结束postrotateprerotate脚本。
  3. 配置文件示例: 下面是一个简单的Logrotate配置文件示例:

    • /etc/logrotate.conf:主配置文件

    • /etc/logrotate.d/:为配置相关子系统,用于隔离每个应用配置(Nginx、PHP、Tomcat...)

      /var/log/nginx/*.log {
          daily //指定轮转周期:默认每周切割weekly、每月切割monthly、每天切割daily、每年切割yearly
            size 100M //当日志文件到达指定的大小时转储,log-size单位bytes(缺省)及KB (sizek)或MB(sizem)
          rotate 14 //默认保留4个日志文件
          compress //通过gzip压缩转储后的日志文件
          missingok //若日志丢失不报错
          noolddir //转储后的日志文件和当前日志文件放在同一个目录下
        	copytruncate //用于还在打开中的日志文件,把当前日志备份并截断;是先拷贝再清空的方式,拷贝和清空之间有一个时间差,可能会丢失部分日志数据
          dateext //使用当期日期作为命名格式
          dateformat .%d-%s //配合dateext使用,紧跟在下一行出现,定义文件切割后的文件名,必须配合dateext使用,只支持 %Y %m %d %s 这四个参数
          notifempty
          postrotate
              /etc/init.d/nginx -s reload > /dev/null
          endscript
      }
  4. 测试和运行Logrotate

    • 使用-d选项来测试配置文件是否有语法错误:logrotate -d /etc/logrotate.conf
    • 使用-f--force选项强制运行logrotate,即使日志文件未达到旋转条件:logrotate -f /etc/logrotate.conf
  5. Crontab调度: Logrotate通常由cron作业定期执行。你可以检查/etc/crontab/etc/cron.daily/目录下的相关条目,确认logrotate是否已经设置了定期运行。

    按分钟级配置文件
    logrotate不支持分钟级分割,可通过定时任务执行分割

    例:*/1 * * * * root logrotate -f /etc/logrotate.conf

请确保在修改任何配置文件之前备份原始文件,并在修改后测试配置的有效性,以避免意外中断日志记录过程。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

www3300300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值