使用输出通道的 Rsyslog 日志轮转

使用输出通道的 Rsyslog 日志轮转

我在 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) 或在我链接的站点中选择正确的版本。

相关内容