*。*; auth,authpriv.none-/ var / log / syslog行在rsyslog配置文件中是什么意思?


11

我正在尝试了解该/etc/rsyslog.conf文件,但我缺少一些东西。例如,这是文件的一部分:

auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none      -/var/log/syslog
cron.*              /var/log/cron.log
daemon.*            -/var/log/daemon.log
kern.*              -/var/log/kern.log
lpr.*               -/var/log/lpr.log
mail.*              -/var/log/mail.log
user.*              -/var/log/user.log

根据页面:

该功能是以下关键字之一:auth,authpriv,cron,daemon,kern,lpr,mail,mark,新闻,安全性(与auth相同),syslog,user,uucp和local0到local7。

优先级是以下关键字之一,按升序排列:debug,info,notice,warning,warn(与警告相同),err,error(与err相同),crit,alert,emerg,panic(与emerg相同)。关键字error,warn和panic已被弃用,不再应使用。优先级定义消息的严重性。

星号(“ *”)代表所有设施或所有优先级,具体取决于使用地点(时间段之前或之后)。关键字none代表给定设施的优先级。

您可以使用逗号(“,”)运算符在一个语句中指定具有相同优先级模式的多个功能。您可以根据需要指定任意数量的设施。请记住,只有这样的语句中的设施部分被采用,优先级部分将被跳过。

可以使用分号(“;”)分隔符为单个操作指定多个选择器。请记住,选择器字段中的每个选择器都可以覆盖前面的选择器。使用此行为,您可以从模式中排除某些优先级。

因此,这是可以理解的,但是右边的文件路径呢?它可以只是一个路径,或者路径|-之前(或甚至是别的东西)。两者之间有什么区别?

Answers:


16

给定

*.*;auth,authpriv.none      -/var/log/syslog

*.* 表示记录所有设施和所有优先级。

auth,authpriv.none 表示不要记录auth和authpriv工具。

-/var/log/syslog表示登录到文件/ var / log / syslog。前面的破折号告诉syslogd不要调用fsync(),即在每次写入文件后不要将内核缓冲区刷新到磁盘。


如何auth,authpriv.none意味着没有登录?在引用的文档中,“选择器字段中的每个选择器都可以覆盖前面的选择器”-在哪里记录了该行为的详细信息?我本来希望该auth部分与在下已经匹配的auth工具匹配*.*,而不是禁用它。
jl6 2014年

2
auth,authpriv同时匹配authauthpriv。该.none部分适用于它们两者。*.*;auth;authpriv.none会像您描述的那样表现。
凯尔·琼斯

好,谢谢!并记录在任何地方吗?
jl6 2014年

1
上面的文档中暗含了它。如果使用逗号列出多个设施,则除最后一个设施外,所有其他设施的优先级部分都将被跳过(忽略)。当然可以在这方面改进文档。
凯尔·琼斯

我添加了这一行,*.*;auth,authpriv.none /dev/console 以便syslog消息也可以在Raspberry Pi的控制台(tty1)上显示。我在Pi服务器上插入了一个监视器,该监视器仅用于监视日志。我请您对它进行任何处理。
威尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.