压缩后日志旋转删除原始文件

时间:2018-08-27 14:36:34

标签: linux logrotate log-rotation

我的someDir中有以下文件:

blacklistadm.out00009 blacklistadm.out00008 blacklistadm.out00007 blacklistadm.out00010 blacklistadm.out00025

我在/etc/logrotate.d/中有以下日志轮换模式:

someDir/blacklistadm.out*[0-9]{
    weekly
    missingok
    compress
        sharedscripts
        postrotate
                rm -f someDir/blacklistadm.out*[0-9]
        endscript
}

运行日志轮转脚本时,将以某种方式删除someDir中的所有文件。我想要的是.gz所有文件,压缩后删除原始文件。我不想删除.gz文件。

1 个答案:

答案 0 :(得分:0)

文件被删除,因为您的globe使用不正确。

  

blacklistadm.out * [0-9]

从字面上扩展到以“ blacklistadm.out”开头的任何文件,后跟0或多个字符的任何序列,以定义的0-9范围内的单个字符结尾。

显然,这是所有内容的全部,因为您的所有文件都以“ blacklistadm.out”开头,并以数字结尾,因此,当您使用相同的glob运行postrotate脚本时,您将匹配该目录中的所有内容并将其删除。