logrotate.conf和logrotate.rsyslog中的rotate区别

logrotate.conf

# see "man logrotate" for details
# rotate log files weekly
# weekly
 
# keep 4 weeks worth of backlogs
rotate 4
 
# create new (empty) log files after rotating old ones
create
 
# use date as a suffix of the rotated file
dateext
 
# uncomment this if you want your log files compressed
compress
 
# packages drop log rotation information into this directory
include /etc/logrotate.d
 
# system-specific logs may be also be configured here.

logrotate.rsyslog

# /etc/logrotate.d/rsyslog - Modified for specific needs
 
/var/log/messages
/var/log/ecs_mfp_debug.log
/var/log/ecs_mfp_run.log
/var/log/ecs_mfp_oper.log
{
    maxsize 50M
    rotate 5
    daily
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /usr/bin/pkill -HUP rsyslogd 2> /dev/null || true
    endscript
}
 
/log/ecs_mfp_start_log
{
    size 2M
    rotate 3
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /usr/bin/pkill -HUP rsyslogd 2> /dev/null || true
    endscript
}
 
/release/conf_auto_backup.tar.gz
{
	rotate 10
	dateext
	daily
	missingok
	compress
	sharedscripts
	postrotate
	tar zcf /release/conf_auto_backup.tar.gz /release/conf
	endscript
}

logrotate.conflogrotate.rsyslog 文件中定义的 rotate 指令确实有区别,主要体现在应用范围和配置继承方面。以下是详细解释:

1. 配置的作用范围

  • logrotate.conf 文件

    • rotate 4logrotate.conf 中定义,这是一个全局配置项,适用于所有未在特定配置文件中覆盖的日志文件。
    • 这意味着,如果某个日志文件的轮替配置没有单独指定 rotate,则默认情况下,logrotate.conf 中的 rotate 4 设置将被应用。换句话说,日志文件会保留最近的 4 个备份版本。
  • logrotate.rsyslog 文件

    • rotate 5 是在 logrotate.rsyslog 中为特定的日志文件单独定义的。例如,/var/log/messages/var/log/ecs_mfp_*.log 系列文件。
    • 这意味着这些日志文件会保留最近的 5 个备份版本,而不是继承 logrotate.conf 中的全局设置。rotate 5 覆盖了全局配置,使这些文件的备份数量独立于全局设置。

2. 配置的优先级

  • 全局配置与特定配置
    • logrotate.conf 中的 rotate 4 是全局配置,适用于所有未在单独配置文件中指定的日志文件。
    • logrotate.rsyslog 中的 rotate 5 是针对具体日志文件的配置,具有更高的优先级。因此,对于 /var/log/messages 和其他指定的日志文件,系统将保留 5 个备份,而不是全局的 4 个备份。

3. 总结

  • 全局设置(logrotate.conf)
    • 适用于未在特定配置文件中指定的日志文件。全局设置的 rotate 4 表示保留 4 个日志备份。
  • 特定设置(logrotate.rsyslog)
    • 针对指定的日志文件,rotate 5 表示保留 5 个日志备份。这一设置覆盖了全局配置。

因此,rotate 在这两个文件中的定义并不冲突,而是体现了配置的继承和覆盖原则。logrotate.rsyslog 中的设置更为具体,应用于特定的日志文件,而 logrotate.conf 中的设置则作为全局默认配置,适用于未被特定文件覆盖的日志文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值