/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。