logrotate 之后 Rsyslog 不记录

logrotate 之后 Rsyslog 不记录

我正在使用 rsyslog,并且有许多网络设备将其日志发送到此服务器。然后,Rsyslog 将每个设备的日志拆分为“devicename.log”。通过以下方式:

$template FILENAME,"/data/logs/%fromhost%.log"

*,local0,local1,local2,local3,local4,local5,local6,local7,uucp,user.*      ?FILENAME

然后我尝试对这些文件进行日志轮转。我的 logrotate.conf 中有以下内容。

  /data/logs/*.log {
    daily
    create 666 root root
    rotate 30
    missingok
    notifempty
    compress
      postrotate
      reload rsyslog >/dev/null 2>&1 || true
    endscript
  }

除了 logrotate 作业运行后,大约一半的设备日志也停止记录,直到我手动重新加载 syslog。它几乎就像 rsyslog,只是在我重新启动 rsyslog 之前不会保存一半设备的日志。

有任何想法吗?

相关内容