我正在使用 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 之前不会保存一半设备的日志。
有任何想法吗?