Logrotate 附加而不是替换文件名上的日期

Logrotate 附加而不是替换文件名上的日期

我在 RedHat 系统上运行 logrotate。我更改了配置以每天轮换文件夹中的所有文件。几天后,文件列表显示了这一点:

login.log-20170220
login.log-20170220-20170222
login.log-20170220-20170222-20170224
login.log-20170220-20170222-20170224-20170226
login.log-20170220-20170222-20170224-20170226-20170228
login.log-20170220-20170222-20170224-20170226-20170228-20170302
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306-20170308
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306-20170308-20170310
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306-20170308-20170310-20170312
login.log-20170228
login.log-20170228-20170302
login.log-20170228-20170302-20170304
login.log-20170228-20170302-20170304-20170306
login.log-20170228-20170302-20170304-20170306-20170308
login.log-20170228-20170302-20170304-20170306-20170308-20170310
login.log-20170228-20170302-20170304-20170306-20170308-20170310-20170312
login.log-20170306
login.log-20170306-20170308
login.log-20170306-20170308-20170310
login.log-20170306-20170308-20170310-20170312

我在其他系统中也有相同的设置,但从未遇到过这个问题...这是 logrotate.d/ 中的配置

/var/log/syslog-wal/* {
    missingok
    notifempty
    create 0640 root wheel
    daily
    rotate 14
}

我觉得很奇怪的是,每 8 天就会有新一轮的文件。有知道发生什么事的线索吗?该文件夹位于 /var/log 内部,但我在其他标准 logrotate.d 文件中没有看到任何可以解释这一点的内容。

答案1

该模式/var/log/syslog-wal/*不仅匹配login.log该日志的所有轮换,这意味着每个文件都将被轮换,并将日期附加到其名称中(如果文件满足轮换条件)。

当再次运行时,每个那些文件将附加日期等。

因此,解决方案就是仅指定/var/log/syslog-wal/login.log或可能/var/log/syslog-wal/*.log为模式。

相关内容