【问题标题】:logrotate directory containing log files包含日志文件的 logrotate 目录
【发布时间】:2018-04-14 09:49:41
【问题描述】:

我正在寻找一种可以对特定目录中的所有日志文件进行 logrotate 的方法。

我目前使用的配置是:

/path/to/folder/*.log {
daily
rotate 5
missingok
notifempty
maxage 14
compress

}

每天 - 因为我希望它每天运行

rotate - 在删除前旋转 5 个版本

maxage 14 - 14 天后删除实际日志文件

compress - 在旋转时压缩日志文件。

我不明白的是,为什么现在的日志文件也被压缩了?我希望至少当前和昨天的日志文件保持不变。

我尝试使用delaycompress,但这也无济于事。

你能帮我做错什么吗?

【问题讨论】:

    标签: linux unix logrotate


    【解决方案1】:

    添加delaycompress 会将压缩延迟一圈。

    你应该有:

    • 正在写入的当前日志文件;
    • 前一个未压缩的日志文件(从轮换前的“当前”日志文件创建);
    • 以前的日志文件已压缩。

    请注意,maxage 14 在这里并不是很有用,因为rotate 将在 5 次(每天)轮换后删除一个日志文件。

    【讨论】:

    • 您能否详细说明一下当前日志文件和之前未压缩的日志文件?就我而言,我每天有几个日志文件,每个日志文件对于一个进程都是唯一的。这就是为什么我不想压缩它们。另外,感谢您指出maxage。我意识到它没有效果,因为我已经轮换了5。谢谢
    • 根据我的经验,日志轮换规则适用于每个匹配的文件。因此,如果您有“PROC1232.log”并使用 delaycompress 对其进行轮换,它会重命名为“PROC1232.log.1”,之前的日志以“PROC1232.log”开头。被压缩。如果新进程创建文件“PROC1232.log”,则将创建它。如果希望在日志轮换时创建文件“PROC1232.log”,则需要添加create
    猜你喜欢
    • 2018-04-14
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 2018-10-12
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    相关资源
    最近更新 更多