[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:42479] Re: syslog.conf に記述した Log ファイルの Rotate



武藤@Debianぷろじぇくとです。

At Sun, 16 Jan 2005 09:57:48 +0900,
thirai@xxxxxxxxxxxx wrote:
> Sarge にて、自分の作成したプログラムの Log を /var/log 配下に、ある
> Facility と Level にて出力しております。実際に syslog.conf には下記
> のように記述してあります。
> 
> =- /etc/syslog.conf の抜粋 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> local4.info;local4.warn;local4.error    /var/log/traffic.log
> #local4.debug                           /var/log/traffic.log
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> 
> この Log を /etc/logrotate.d/ 配下にファイルを記述して Rotate させよ
> うと考えていたのですが、何も記述せずに Rotate されてしまいます。また、
> syslog.conf に記述していない別の Log ファイルは /etc/logrotate.d/ 配
> 下にファイルを記述してやることで、思った通りの Rotate を行ってくれま
> す。
> 
> 上記の /var/log/traffic.log が "何故" 勝手に Rotate されるのかを探っ
> たのですが見つかりませんでした。
> 
> syslog.conf に記述したファイルは Debian Gnu/Linux では勝手に Rotate
> されるものなのでしょうか ???

syslog関連のローテートを行うのは、/etc/cron.daily/sysklogd、
/etc/cron.weekly/sysklogdです。
この中で/etc/syslogd.confをパースするsyslogd-listfilesというのを呼び出
しており、dailyのほうはオプションなし(/var/log/syslog)、--auth付き
(/var/log/auth.log)の2つだけが対象になっていますが、weeklyのほうはいわ
ば「それ以外のすべて」をターゲットにする--weeklyオプションが付けられて
います。syslogd-listfiles --weekly とやるとtraffic.logが含まれてしまっ
ているのがわかります。

要はこのリストに含めないようにすればよいわけですが、その回避方法の1つ
として、-sオプションを付けて特定のログ名を除外するというものがあります。

たとえば/etc/cron.weekly/sysklogdを
for LOG in `syslogd-listfiles --weekly -s traffic`
というようにすれば除外されるでしょう。/etc配下のファイルは設定ファイル
扱いなので、アップグレード時にも勝手に上書きされることはありません。

複数並べたいときには、
syslogd-listfiles --weekly -s "traffic|foo|bar"
というように""で囲んだあと|で区切れば実現できるかと思います。
-- 
武藤 健志@ kmuto @ kmuto.jp
           Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)