【问题标题】:Log-rotate delete original file after compressingLog-rotate 压缩后删除原始文件
【发布时间】:2019-02-02 03:07:33
【问题描述】:

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

【问题讨论】:

    标签: linux logrotate log-rotation


    【解决方案1】:

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

    blacklistadm.out*[0-9]

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

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

    【讨论】:

    • @parttimeturle 如果删除所有这些文件也没关系,我的问题实际上是为什么它还要删除压缩后创建的 .gz 文件。
    • @DhruvPandey 向我们展示您的 /etc/logrotate.conf 文件的内容
    猜你喜欢
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2023-01-08
    相关资源
    最近更新 更多