我在 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
为模式。