NEWSYSLOG(8)

名称
newsyslog - システムのログファイルを管理しやすいサイズにする

書式
newsyslog [-vnr] [-f configuration file]

解説
newsyslog は、 cron(8) によって定期的に実行されるよ うに crontab(5) でスケジューリングされているプログラムです。 newsyslog が実行されると、必要ならばログファイルをアーカイブします。 ログファイルのアーカイブが必要だと決定すると、 newsyslog はファイルの再配置を行います。つまり、``logfile'' を空にし、元の内容を ``logfile.0'' に移します。同様に、``logfile.0'' の内容は ``logfile.1'' に移ります。 このようにユーザが指定した番号までログがアーカイブされます。 さらに指定によっては、ディスクを節約するためにアーカイブした ログファイルを圧縮することができます。

ログは 2 つの理由でアーカイブされます。それは、ログファイル があらかじめ決めておいたサイズ (K バイト単位) よりも大きく なったか、前にログファイルをアーカイブしてから、決めておいた 時間 (hour) が経過している場合です。 newsyslog が実行される頻度は、 crontab でどれくらいの頻度にスケジュールされているかによります。 プログラムはかなり速く実行されるので、 ほかに何か悪い影響がないかぎり、毎時間実行するようにスケジュール してもかまいません。 起動されると、 newsyslog はログファイルを捜すために、 まず、 configuration file (設定ファイル) を読み込みます。 デフォルトの設定ファイルは、 /etc/newsyslog.conf です。 ファイル中の各行は、 newsyslog に扱われるログファイルに関する情報を含みます。各行は、5 つの不可欠な フィールドと、2 つの選択的なフィールドを含み、各フィールドは空白で区切ら れます。空行と ``#'' で始まる行は無視されます。設定 ファイルのフィールドは以下のようなものです:

•   ログファイルの名前 (logfile name)
•   アーカイブの所有者とグループ (選択的) (owner.group of archives (optional))
•   ログファイルとアーカイブの属性 (mode of logfile & archives)
•   アーカイブ数 (number of archives)
•   アーカイブのサイズ (size of archives)
•   アーカイブ間隔 (archive interval)
•   フラグ (選択的) (flags (optional))

ログファイルの名前のエントリは、アーカイブされるシステム のログファイルの名前です。 選択的な所有者とグループのエントリは、アーカイブファイル の所有権とグループを指定します。所有者やグループを空白の まま残すとしても、絶対に ``.'' は必要です。このフィールドは、数字か、 /etc/passwd や /etc/group のなかにある名前でなければなりません。

アーカイブ数のエントリは、ログファイルとして残すアーカイブの数を指定します。

アーカイブのサイズが、ログファイルのサイズのエントリで指定 したサイズになると、上で説明したようにログファイルを調整します。 このフィールドが ``*'' だと、ログファイルを調整する際に、 ログファイルのサイズは無視されます。

アーカイブ間隔のエントリは、ログファイル調整の何時間おきに行うかを指定します。 このフィールドが``*''だと、前にログファイルの調整を行った時間を考慮しません。

フラグのエントリは、ログファイルをアーカイブする際に、 特別な処理を行うべきかどうかを指定します:

Z   ディスクを節約するため、 compress(1) を使って圧縮したアーカイブファイルを作ることを意味します。

B   ファイルがバイナリファイルで、ログが移されれたこと を示す ascii メッセージは挿入されません。

オプション:

-f config-file
    デフォルトの設定ファイル /etc/newsyslog.conf の かわりに、 config-file を設定ファイルとします。

-v  newsyslog を詳細報告モードとします。このモードでは、処理したログや、それを調整した理由、 スキップした理由を表示します。

-n  このオプションが指定されると、 ログファイルの再配置などの調整は行わず、処理の表示だけを行います。

-r  スーパーユーザー として実行しなければならないという制限を外します。 その場合はもちろん、 newsyslog は HUP シグナルを syslogd(8) に送ることはできませんので、デバッグのときにだけ、 このオプションを使うべきでしょう。

  設定ファイルの例

    # configuration file for newsyslog
    # $Id: newsyslog.conf,v 1.6 1994/02/17 00:15:18 cgd Exp $
    #
    # logfilename           owner.group     mode ngen size time [ZB]
    /var/cron/log		root.wheel	600  3    10   *     Z
    /var/log/aculog		uucp.dialer	640  7    *    24    Z
    /var/log/kerberos.log			640  7    *    24    Z
    /var/log/lpd-errs			640  7    10   *     Z
    /var/log/maillog			600  7    *    24    Z
    /var/log/messages			644  5    30   *     Z
    /var/log/wtmp				644  7    *    168   ZB
    /var/log/xferlog			640  7    250  *     Z

関連ファイル
/etc/newsyslog.conf
    デフォルトの設定ファイル

バグ
ログファイルを読んだときに、自動的にセキュリティ違反を発見 することはまだできません。

関連項目
syslogd(8), syslog(3), compress(1)