logrotate.conf 是否会覆盖子模块的配置?

logrotate.conf 是否会覆盖子模块的配置?

我想知道哪一个日志比其他日志优先。

查看此处定义的 rsyslog,它定义每日轮换并保存 30 天。

vim /etc/logrotate.d/rsyslog

/var/log/syslog
{
        rotate 30
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                /usr/lib/rsyslog/rsyslog-rotate
        endscript
}

然后我们有主要配置,每周轮换一次,每次保持 4 周。

vim /etc/logrotate.conf

# rotate log files weekly
weekly

# use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

哪一个会覆盖另一个?

答案1

规则在读取时会被简单评估,最后遇到的设置会覆盖先前的设置。

由于/etc/logrotate.conf文件最后有该行include /etc/logrotate.d,因此该目录中的文件也在主配置文件之后处理。因此该/etc/logrotate.d/rsyslog文件将覆盖 中的设置/etc/logrotate.conf

重点是您可以在主配置文件中设置默认值,并在必要时为各个日志文件覆盖这些默认值。

相关内容