1

我的 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 文件。

4

1 回答 1

0

正在删除文件,因为您的 globbing 使用不正确。

blacklistadm.out*[0-9]

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

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

于 2019-03-01T21:03:46.617 回答