遵循configuration规则:
auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog #cron.* /var/log/cron.log daemon.* -/var/log/daemon.log ftp.* /var/log/vsftpd.log
前两行的意思是,除auth和authpriv之外,将所有内容都logging到系统日志中,并将它们logging到auth.log。 Cron日志被注释,守护进程禁用。*在syslog和daemon.log中。
ftp。*logging到系统日志,但不是vsftpd.log,为什么?
什么是“ – ”path的前提?
我读了manpages,但是找不到信息。
如果你的平台没有定义LOG_FTP , ftp工具将被忽略。 这可能是之所以这么说的原因 – 有趣的是,在rsyslog.conf页中并没有包含ftp作为一个有效的工具,最有可能避免解释它。
* Mon Oct 12 18:29:44 CEST 1998: Martin Schulze <[email protected]> * Added `ftp' facility which was introduced in glibc version 2. * It's #ifdef'ed so won't harm with older libraries.
查看源代码,可以看到在runtime/srutils.c发生了什么情况:
syslogName_t syslogFacNames[] = { {"auth", LOG_AUTH}, {"authpriv", LOG_AUTHPRIV}, {"cron", LOG_CRON}, {"daemon", LOG_DAEMON}, {"kern", LOG_KERN}, {"lpr", LOG_LPR}, {"mail", LOG_MAIL}, {"mark", LOG_MARK}, /* INTERNAL */ {"news", LOG_NEWS}, {"security", LOG_AUTH}, /* DEPRECATED */ {"syslog", LOG_SYSLOG}, {"user", LOG_USER}, {"uucp", LOG_UUCP}, #if defined(LOG_FTP) {"ftp", LOG_FTP}, #endif {"local0", LOG_LOCAL0}, {"local1", LOG_LOCAL1}, {"local2", LOG_LOCAL2}, {"local3", LOG_LOCAL3}, {"local4", LOG_LOCAL4}, {"local5", LOG_LOCAL5}, {"local6", LOG_LOCAL6}, {"local7", LOG_LOCAL7}, {NULL, -1}, };
-行为有点微妙。 你需要三个URL来完整的图片。
-行为 – search“同步” $ActionFileEnableSync文档 简短版本:从V3开始,a -前缀本身指定是否希望文件从磁盘同步中省略 ,但是这仅在启用了$ActionFileEnableSync on同步function时才有意义。
如果您使用混合的syslog守护进程环境进行操作,并且在服务器之间共享兼容的configuration的做法,那么将语法包含在您的configuration中仍然很有用。