rsyslog
我通过手册页、在线阅读和实验相结合的方式进行学习。我想了解为什么以下不会导致无限递归:
从 1 号航站楼出发:
$ cat /etc/rsyslog.d/dummy.conf
# dummy.conf
local7.* @127.0.0.1
& |/tmp/foopipe
$ sudo systemctl restart rsyslog
$ cat < /tmp/foopipe
从 2 号航站楼出发:
$ logger -p local7.info "Test 111"
执行完上述操作后,终端1中出现了文字“ 2018-07-16T18:09:50.866760-07:00 localhost user: Test 111
”,但只出现了一行;即不是多个副本,也不是无限的洪水。
我对配置文件还不是很熟悉rsyslog
,所以我只是根据自己最基本的理解来拼凑一些东西。我认为我的dummy.conf
文件会指示rsyslog
将我的local.info
系统日志发送到命名管道,并将系统日志转发到 127.0.0.1。
假设后者确实发生...我不太清楚接下来会发生什么,但我想象会从它侦听的 UDP/TCP 套接字rsyslog
接收系统日志,然后再次应用规则,再次指示 rsyslog 发送系统日志到管道以及转发 127.0.0.1...因此无限递归。local.info
dummy.conf
我错过了什么吗?或者是否rsyslog
内置了智能来阻止这种类型的无限递归?