rsyslogの出力ログカスタマイズ

/etc/rsyslog.confにて

# user用
user.*                                                  /var/log/user

とすれば、ファシリティがLOG_USERの、全レベルのログを /var/log/user に出力する。
で、新設したログはログローテーションの対象外なので、

# vi /etc/logrotate.d/rsyslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/user {  #←/var/log/userを追加
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

という感じで、/var/log/userもローテーション対象に含める。
デフォルトだとrsyslogのログローテーションはweeklyで回るので、/var/log/userだけdailyで回したい場合は、

# vi /etc/logrotate.d/rsyslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/user {  #←/var/log/userを追加
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}
/var/log/user {  #←/var/log/userを追加
    daily # ←dailyで回す
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

のように、/var/log/userだけ分離して記述すればOK。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です