2005年1月16日

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

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

At Sun, 16 Jan 2005 09:57:48 +0900,
thirai@xxxxx 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@xxxxx, kmuto@xxxxx)
株式会社トップスタジオ (kmuto@xxxxx)
URI: http://kmuto.jp/ (Debianな話題など)

投稿者 xml-rpc : 2005年1月16日 10:30
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/15652
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。