[linux]rsyslogで特定の文字列を含むメッセージを別のファイルに出力させる

rsyslogで特定の文字列を含むメッセージを別のファイルに出力させる方法。

iptablesのログなどを/var/log/messages以外に出力させたいときなどに使用可能。

「iptables」という文字列を含むメッセージを/var/log/iptablesに出力させるにはこんな感じ。「~」で除外して/var/log/messagesに出力させなくするのがポイント。

# vi /etc/rsyslog.conf

:msg,contains,“iptables” /var/log/iptables;LocalFormat
:msg,contains,”iptables” ~

:(省略)
*.info;mail.none;authpriv.none;cron.none                /var/log/messages;LocalFormat