rsyslog는 동일한 데이터를 여러 파일에 기록합니다.

rsyslog는 동일한 데이터를 여러 파일에 기록합니다.

저는 중앙 집중식 로깅을 위해 rsyslog를 처음 구성했으며 전문가 중 한 분이 다음 문제를 해결하는 데 도움을 줄 수 있는지 궁금합니다. 각 원격 호스트의 로그를 호스트별 디렉터리에 저장하려고 합니다. 이것은 maillog를 제외하고는 잘 작동합니다. 어떤 이유로 메일 로그는 특정 호스트에 대해 정의된 디렉토리로 이동하지만 /var/log/maillog에 메일을 실행하는 모든 호스트에 대해서도 기록됩니다.

로그가 여러 위치에 기록되도록 하는 특정 구성이 어딘가에 있습니까?

여기 내 Remote-hosts.conf 파일이 있습니다.

$ModLoad imtcp
$InputTCPServerRun 514
$DirGroup root
$DirCreateMode 0755
$FileGroup root
$template PerHostAuth,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/auth.log"
$template PerHostCron,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/cron.log"
$template PerHostSyslog,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/syslog"
$template PerHostDaemon,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/daemon.log"
$template PerHostKern,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/kern.log"
$template PerHostLpr,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/lpr.log"
$template PerHostUser,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/user.log"
$template PerHostMail,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/mail.log"
$template PerHostMailInfo,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/mail.info"
$template PerHostMailWarn,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/mail.warn"
$template PerHostMailErr,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/mail.err"
$template PerHostNewsCrit,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/news.crit"
$template PerHostNewsErr,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/news.err"
$template PerHostNewsNotice,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/news.notice"
$template PerHostDebug,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/debug"
$template PerHostMessages,"/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/messages"
auth,authpriv.*         ?PerHostAuth
*.*;auth,authpriv.none  -?PerHostSyslog
cron.*                  ?PerHostCron
daemon.*                -?PerHostDaemon
kern.*                  -?PerHostKern
lpr.*                   -?PerHostLpr
mail.*                  -?PerHostMail
user.*                  -?PerHostUser
mail.info               -?PerHostMailInfo
mail.warn               ?PerHostMailWarn
mail.err                ?PerHostMailErr
news.crit               ?PerHostNewsCrit
news.err                ?PerHostNewsErr
news.notice             -?PerHostNewsNotice
*.=debug;\
   auth,authpriv.none;\
   news.none;mail.none   -?PerHostDebug
   *.=info;*.=notice;*.=warn;\
      auth,authpriv.none;\
      cron,daemon.none;\
      mail,news.none        -?PerHostMessages

그래서 무슨 일이 일어나고 있는지에 대한 로그가 /var/log/maillog에 있다는 것입니다.모두아래의 개별 디렉터리 외에 syslog를 통해 로그를 보내는 내 메일 서버

/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/Host1/mail.log 
/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/Host2/mail.log
/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/Host3/mail.log
/srv/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/Host4/mail.log                                 

원격 시스템의 메일 로그에 로그가 기록되는 것을 중지하는 올바른 방법은 무엇입니까?

도와 주셔서 감사합니다!!

관련 정보