rsyslog 구성 파일에 다음 줄이 있습니다.
*.*;auth,daemon,kern,user -/dev/logi
예상한 대로 수행되었지만 iptables 로그 중 일부를 다른 파일로 보내고 싶어서 rsyslog.conf 파일에 다음을 추가했습니다.
:msg,contains,"IPTABLES:" /var/log/iptables
& stop
/dev/fw 장치를 생성했지만 파일의 새 내용을 장치로 보내는 방법을 모르겠습니다. 그것을 할 수 있는 방법이 있나요?
답변1
마침내 해결책을 찾았습니다.
이것은 시스템 시작 시 생성한 fifo 장치입니다.
LOG_DEV=/dev/logi
if [ ! -r $LOG_DEV ]; then
mkfifo $LOG_DEV
chmod 640 $LOG_DEV
chown root:morfik $LOG_DEV
fi
/etc/init.d/rsyslog
방금 파일 에 추가했습니다 .
해당 장치를 사용하면 파일에 다음 줄을 배치하여 모든 로그를 보낼 수 있습니다 /etc/rsyslog.conf
.
*.* -/dev/logi
이는 규칙 섹션의 첫 번째 줄이므로 모든 로그가 해당 줄로 이동하여 구성 파일의 다른 규칙을 계속 처리합니다. 파일의 다음 규칙은 다음과 같습니다.
:msg,contains,"IPTABLES:" /var/log/iptables
& stop
iptables 로그를 특정 파일로 보냅니다. 이 작업을 수행한 후 rsyslog는 문구가 포함된 항목 처리만 중지합니다 IPTABLES:
. 다음 규칙은 rsyslog 구성 파일의 일반적인 규칙입니다.
그래서 나는 내가 원하는 것을 얻었습니다. 모든 로그는 fifo 장치로 전송되고 iptables 항목에 대한 별도의 로그 파일입니다.