【问题标题】:exclude files from logrotate从 logrotate 中排除文件
【发布时间】:2015-11-23 01:13:19
【问题描述】:

我的目标是创建一个logrotate 配置,为每组日志文件指定不同的轮换号。第一组10个,第二组14个,其余5个。这是我目前所拥有的:

~/log/myLog1*.log{
   rotate 10
   ...
}

~/log/myLog2*.log {
   rotate 14
   ...
}

~/log/[!{myLog1,myLog2}]*.log {
   rotate 5
   ...
}

以下显示了我要旋转的文件:

ls ~/log/[!{myLog1,myLog2}]*.log

但是因为logrotatedoesn't support extended globbing,第三种模式不起作用,我收到此错误消息

rotating pattern: ~/log/[! forced from command line (5 rotations)
empty log files are not rotated, old logs are removed
considering log ~/log/[!
  log ~/log/[! does not exist -- skipping

谁能纠正我的最终模式以使其正常工作?

【问题讨论】:

    标签: glob logrotate


    【解决方案1】:

    您是否尝试过将排除与 prerotate 一起使用?以下示例未经测试。

    ~/log/*.log {
       rotate 5
       nosharedscripts
       prerotate
           bash -c "[[ ! $1 =~ myLog1.log ]] && [[ ! $1 =~ myLog2.log ]]"
       endscript
    }
    ~/log/myLog1.log {
       rotate 10
    }
    ~/log/myLog1.log {
       rotate 14
    }
    

    source

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-21
      • 2018-11-07
      • 1970-01-01
      • 2019-12-15
      • 2014-11-24
      • 2019-07-13
      • 2016-06-17
      • 1970-01-01
      相关资源
      最近更新 更多