如果使用“size”和“daily”参数指定了 logrotate 配置,那么哪个优先?这是在哪里记录的?我希望这些旋转作为布尔 OR 操作发生,即,如果日志是一天前的,它们会被旋转,或者如果它们大于某个大小,它们也会被旋转。但是,logrotate 目前只使用“size”指令,似乎忽略了“daily”指令。Logrotate 设置为每小时运行一次。操作系统是 linux、Red Hat 和 Debian 的衍生产品。
另外,我首先指定“每日”,然后从文件开头指定“大小”。不确定顺序是否重要,但无论如何,必须在配置文件中排在第一位......
谢谢!
gre*_*zap 75
如果使用size指令,logrotate 将忽略daily、weekly、monthly和yearly指令。执行man logrotate
命令时,文档中并不清楚这一点。然而,它可以在实践中得到证实,并且在一些随意的博客文章中提到,比如这个。
有一个名为minsize的指令,根据 logrotate 手册页,它是唯一可以与时间指令结合使用的大小指令。然而,它仍然不是你想要的。使用minsize与daily本质上说:每天旋转日志,但仅当它们的大小至少为 #MB 时。
迄今为止,我发现 logrotate 无法满足您所需的条件:每天旋转,除非大小超过 #MB,在这种情况下立即旋转。我认为仅使用 logrotate 指令不支持这一点。有可能通过脚本挂钩指令就像一些聪明的脚本做prerotate,postrotate,firstaction和lastaction。
更新:
从 logrotate 3.8.1 开始,maxsize
并timeperiod
一起支持,这将是理想的解决方案。请参阅这篇文章的答案:除非日志超过特定大小,否则如何根据间隔轮换日志?
小智 5
根据我对 logrotate 的经验,@egg 的第一个答案是不正确的!
如果“每日”、“每月”...首先出现并且在该大小指令之后,则“每日”、“每月”...将被忽略,并且大小指令将应用于日志文件。
同样,当我第一次使用大小指令,然后使用每日、每周、每月和每年指令时,大小指令将被忽略。
小智 1
如果您添加“每日”,即使满足“大小”条件,它也会每天轮换。如果您还添加大小条件,您可能会在一天内进行两次轮换,具体取决于日志记录的详细程度。
如果“每日”在脚本中排在第一位,则“大小”可能不会触发。
归档时间: |
|
查看次数: |
75701 次 |
最近记录: |