![Logrotate 场景 - 混合并匹配 cron.daily 和 daily 指令](https://linux22.com/image/200636/Logrotate%20%E5%9C%BA%E6%99%AF%20-%20%E6%B7%B7%E5%90%88%E5%B9%B6%E5%8C%B9%E9%85%8D%20cron.daily%20%E5%92%8C%20daily%20%E6%8C%87%E4%BB%A4.png)
文件:
/etc/cron.daily/logrotate
有如下声明:
/usr/sbin/logrotate /etc/logrotate.conf
该logrotate.conf
文件weekly
内部定义了指令。
现在我有两个旋转配置文件abc
和def
内部/etc/logrotate.d
.据我所知,其中abc
包含指令,该指令将覆盖.并且没有这样的指令,因此它将继承该指令。现在我的疑问是,它将每天运行并检查 文件内部,而该文件内部又包含指令。所以总而言之,将经历和。我的问题是和 的实际对数旋转频率是多少?两者是每天轮换还是每天轮换、每周轮换一次?daily
weekly
/etc/logrotate.conf
def
weekly
/etc/logrotate.conf
/etc/cron.daily/logrotate
/etc/logrotate.conf
include /etc/logrotate.d
/etc/cron.daily/logrotate
abc
def
abc
def
答案1
正如我试图解释的那样轮换日志时的首选方法应该是什么 - 使用 daily 指令或将文件路径放入 cron.daily 中?,/etc/cron.daily/logrotate
就旋转频率而言无关紧要,除非您尝试比每天更频繁地旋转。
要确定给定配置将做什么,您可以问logrotate
自己:
/usr/sbin/logrotate -d /etc/logrotate.conf
实际上不会旋转任何东西,但它会告诉你它考虑的一切以及它会做的一切。特别是,它会告诉您每个图案和文件的旋转频率是多少。
大括号内的任何daily
,weekly
等monthly
指令仅适用于该模式。所以如果abc
有
/path/to/file.log {
daily
...
}
它将导致匹配的文件每天轮换,无论全局指令/etc/logrotate.conf
(如果有)如何。它不会影响任何其他文件。
如果def
没有频率指令,它将继承全局设置。