sysklogdの設定方法

Debianでlogrotateを使ってログを保存したいのにsyslogが勝手にrotateしてしまうという現象に遭遇した。

ソースを読んだりしてようやく解決

syslogは/etc/cron.dailyと/etc/cron.weeklyのsysklogdというスクリプトでログを回している。

sysklogdは/usr/sbin/syslogd-listfilesを読んでリストアップされたファイルをrotate。

syslogd-listfilesは/etc/syslog.confを読んで含まれているログファイルをリストアップ。

sysklogdで回転させないようにするにはsysklogd内のsyslogd-listfilesに-sで除外を指定するとOK。
例えばmail.infoを除外させたい場合には

for LOG in `syslogd-listfiles -s "mail.info"`

で除外可能。

複数指定したい場合には

for LOG in `syslogd-listfiles -s "mail.info|uucp.log"`

と|で区切れば良い。

Posted at 2008年09月14日 11:42