NEWSYSLOG(8)

名称
newsyslog - システムのログファイルを保守し、適切なサイズに保つ

書式
newsyslog [-CFnrsv] [-R tagname] [-a directory] [-f config_file] [file ...]

解説
newsyslog ユーティリティは cron(8) から定期的に実行されるようにスケジュールされるべきプログラムです。 実行されると、 newsyslog は必要に応じてログファイルを保存 (アーカイブ) します。 あるログファイルを保存する必要があると判断すると、 “logfile” が空になり、 “logfile.0” に前回のログファイルが入り、 “logfile.1” に前々回のログが入り‥‥ といった具合に、 ユーザが指定した数の保存ログが残るよう、 newsyslog はファイルを再編します。 オプションにより、保存ログを圧縮してスペースを節約することもできます。

ログが保存されるのは次の 3 つの場合です:

1.  ログが設定サイズ (キロバイト単位で指定) より大きくなった。

2.  前回ログを保存してから指定した時間が経過した。

3.  ログ入れ替えを行う指定時間になった。

newsyslog の粒度は、このコマンドが cron(8) からどの程度の頻度で実行されるかに依存しています。 newsyslog の実行は十分速いので、毎時間実行するようにスケジュールしても 悪影響はありませんし、 第 3 のモード (前述) はそうなっていることを仮定しています。

オプション
newsyslog では以下のオプションが利用できます:

-f config_file
    設定ファイルとして /etc/newsyslog.conf に代えて config_file を使用します。

-a directory
    アーカイブしたログファイルを書き込む directory を指定します。 相対パスを指定した場合、 これを各ログファイルのパスに後置したディレクトリに、 このログファイルのアーカイブログを書き込みます。 絶対パスを指定した場合、 すべてのアーカイブログは指定した directory に書き込まれます。 パス directory のコンポーネントが存在しない場合、 newsyslog が実行されるときに生成されます。

-v  newsyslog を詳細情報出力モードにします。 このモードでは、ログを入れ換えるあるいはそれをスキップするたびに、 そのログファイル名と理由を表示します。

-n  実際にログの入れ換えは行わず、このオプションが指定されない場合に 本来行うはずの処理内容を表示します。

-r  newsyslog は root として動作しなければならない、という制約を取り除きます。 もちろん、 newsyslog は syslogd(8) に HUP シグナルを送れなくなりますから、 このオプションはデバッグにのみ用いるべきです。

-s  ログファイル入れ替え時に通常は送っていたはずの デーモンプロセスへのシグナルを、一切送らないようにします。 入れ替えられるログファイルにとっては、 このオプションは通常次の意味も持ちます。 すなわち、このオプションが無かった場合に通知されるデーモンがいる場合 には、入れ替えられたログファイルは圧縮されないという意味です。 しかしながら、本オプションがもっとも有用なのはおそらく -R オプションと共に指定された場合であり、この場合圧縮は行われます。

-C  1 回指定すると、存在しないが設定ファイルに C が指定されているログファイルを newsyslog は作成します。 複数回指定すると、 newsyslog は存在しないファイルをすべて作成します。 ログファイルがコマンドライン上に指定されると、 -C もしくは -CC は、これらのログファイルにのみ適用されます。

-F  ログを入れ替える条件に合致しないとしても、強制的に newsyslog にログを入れ替えさせます。 システムの問題を診断しているときには、 このオプションの使用により、 問題のみを含む新しいログを提供できるので有用です。

-R tagname
    入れ換え条件が成立していなくても、 newsyslog が指定されたリストのファイルを入れ替えるべきことを指示します。 tagname は、入れ替えられるログファイルに書き込まれるメッセージにのみ使用されます。 これが -F オプションと違うのは、ひとつ以上のファイルを指定する必要があり、 newsyslog がこれらの指定されたファイルに対してのみ動作するという点です。 このオプションの主たる目的は、 複数のログファイルを書くデーモンやプログラムで、 それら自身の条件で入れ替えを引き起こしたいもののために使用することです。 このオプションを使用すると、入れ替えたいときにそれらは newsyslog を実行でき、またシステム管理者が依然として入れ換え規則 (バックアップ保存数や圧縮の種類等) を指定可能とします。 デーモンが newsyslog を -R オプション付きで呼び出すとき、 newsyslog の呼び出し前にそのデーモンは全ログファイルがクローズされていることを 保証することと、 newsyslog が戻った後にログファイルをリオープンすることが必要です。 通常、呼び出しプロセスは -s オプションも指定したいでしょうから、入れ替えを強制したプロセス自身には newsyslog はシグナルを送らないでしょう。 シグナル処理を行わないということは、 newsyslog は通常シグナル送信後に数秒待ちますので、 newsyslog は高速に戻ることを意味します。

追加のコマンド行引数を指定すると、 newsyslog はこれらの引数にマッチするログファイルのみを検査します。 そうでない場合、設定ファイルに列挙された全ファイルを検査します。

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

バグ
セキュリティ侵害を見つけるためにログを自動的に読むことは、 まだ行っていません。

作者
Theodore Ts'o, MIT Project Athena

Copyright 1987, Massachusetts Institute of Technology

互換性
以前のバージョンの newsyslog ユーティリティは、グループ名の識別にドット (``.'') を使用していました。 FreeBSD 3.3 からは、これはコロン (``:'') 文字になりましたので、 ユーザ名とグループ名にドット文字を含めることが可能です。 後方互換性のために、ドット (``.'') 文字はまだ受け付けられます。

関連項目
bzip(1), gzip(1), syslog(3), newsyslog.conf(5), chown(8), syslogd(8)

歴史
newsyslog ユーティリティは、 NetBSD 由来のもので、 FreeBSD 2.2 ではじめて登場しました。