Logging

rsyslog:“-”附加到操作路徑 / ftp.* 不記錄

  • January 22, 2013

以下配置規則:

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

前 2 行的意思是,將除 auth 和 authpriv 之外的所有內容記錄到 syslog,將它們記錄到 auth.log。Cron 日誌被註釋禁用,daemon.* 在 syslog 和 daemon.log 中。

ftp. 記錄到 syslog 但不記錄到 vsftpd.log,為什麼?*

路徑的“-”前綴是什麼?

我閱讀了手冊頁,但找不到有關此的資訊。

如果您的ftp平台未定義LOG_FTP. 這可能是原因 - 有趣的是,ftp它沒有作為有效工具包含在rsyslog.conf聯機幫助頁中,很可能避免解釋它。

* Mon Oct 12 18:29:44 CEST 1998: Martin Schulze <joey@infodrom.north.de>
*      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。

簡短版本:從 V3 開始,-前綴本身指定是否要從磁碟同步中省略文件,但這僅在使用$ActionFileEnableSync on.

如果您使用混合的 syslog 守護程序環境進行操作,並且在伺服器之間共享兼容配置的做法,那麼在配置中包含語法仍然很有用。

引用自:https://serverfault.com/questions/471317