我在 Ubuntu 上运行 rsyslogd 4.2.0。我正在尝试使用此处描述的输出通道功能:http://www.rsyslog.com/doc/rsyslog_conf_output.html
这是我的配置的相关部分:
$outchannel test_rotated,/var/log/test/test.log,1000000,/root/scripts/rotate-test-logs.pl
local0.* :omfile:$test_rotated
但 rsyslog 拒绝执行任何操作,并且 /var/log/test/test.log 甚至没有出现。如果我将这两行替换为:
local0.* /var/log/test/test.log
一切正常(但文件当然不会自动旋转)。
我缺少什么?
答案1
Ubuntu 的手册页A似乎没有建议语法
local0.* :omfile:$test_rotated
您链接的网站提供建议 - 它说:
Keep in mind that $outchannel just defines a channel with "name". It
does not activate it. To do so, you must use a selector line (see
below). That selector line includes the channel name plus an $ sign in
front of it. A sample might be:
*.* $mychannel
也许这有效:
local0.* $test_rotated
A:这显然取决于您使用的版本rsyslog
,因此取决于 Ubuntu 版本。因此,只需看看你的手册页 ( man rsyslog.conf
) 或在我链接的站点中选择正确的版本。