Logrotate --debug 正在从备用位置提取状态

Logrotate --debug 正在从备用位置提取状态

这是我的配置文件:

/path/to/somelog.log {
    daily
    copytruncate
    compress
    delaycompress
    nocreate
    missingok
    rotate 7
    dateext
    dateyesterday
    dateformat _%Y-%m-%d-%H-%i-%s
}

为了进行测试,我尝试使用以下命令运行 logrotate 的一些测试:

$ sudo logrotate --state /dev/null --log ./logrotate.log /etc/logrotate.d/my-config

但是当我运行它时,我得到这样的条目:

considering log /path/to/somelog.log
Creating new state
  Now: 2023-07-21 15:11
  Last rotated at 2023-07-21 15:00
  log does not need rotating (log has been already rotated)

这很奇怪,因为

如果我告诉它使用 /dev/null 作为其状态文件,它如何知道我上次运行测试是在 15:00?

(我也在 15:00 之后运行了测试,但显然除了 /var/lib/logrotate/status 之外的某个地方它存储了我在 15:00 所做的测试)

查看状态文件,没有保存任何内容:

$ cat /var/lib/logrotate/status
logrotate state -- version 2
$

而且我已经告诉它无论如何都使用 /dev/null 作为状态文件,所以全局状态文件中的内容并不重要。我在文档中找不到有关它存储状态信息的替代位置的任何内容,因此我不知道如何让它忽略测试,以便我可以快速连续运行这些测试。

相关内容