EN JA
NEWSYSLOG(8)
NEWSYSLOG(8) FreeBSD System Manager's Manual NEWSYSLOG(8)

名称

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

書式

newsyslog [ -CFNPnrsv][ -a directory][ -d directory][ -f config_file][ -S pidfile][ -t timefmt][ [ -R tagname] file ...]

解説

newsyslog ユーティリティは、 cron(8) から定期的に実行されるようにスケジュールされるべきプログラムです。それが実行されるとき、必要に応じてログファイルを保存 (アーカイブ) します。ログファイルを保存することが必要であると判断するなら、 newsyslog は、“ logfile”を空にし、“ logfile .0”は、最後の期間のログ態とし、“ logfile .1”は、次の最後の期間のログとする、など、となるように、ユーザ指定の保存されたログの数まで、ファイルを再配置します。また、ログファイルが -t オプションを使用してシーケンス番号の代わりにアーカイブされた時間を使用してアーカイブされたログファイル名を作成することもできます。オプションにより、保存ログを圧縮してスペースを節約することもできます。

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

  1. ログが設定サイズ (キロバイト単位で指定) より大きくなった。
  2. 前回ログを保存してから指定した時間が経過した。
  3. ログ入れ替えを行う指定時間になった。

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

オプション

newsyslog で、次のオプションを使用することができます:
-f config_file
設定ファイルの /etc/newsyslog.conf の代わりに config_file を使用するように newsyslog に指示します。
-a directory
アーカイブしたログファイルを書き込む directory を指定します。相対パスを指定した場合、これを各ログファイルのパスに後置したディレクトリに、このログファイルのアーカイブログを書き込みます。絶対パスを指定した場合、すべてのアーカイブログは、指定した directory に書き込まれます。パス directory のコンポーネントが存在しない場合、 newsyslog が実行されるときに生成されます。
-d directory
すべてのログファイルと相対的な directory を指定します。ルートの外でログのアーカイブを可能にするためには、 -a オプションに渡された directory は、影響を与えません。
-v
newsyslog を詳細情報出力モードにします。このモードでは、ログを入れ換えるあるいはそれをスキップするたびに、そのログファイル名と理由を表示します。
-n
newsyslog は、実際にログの入れ換えは行わず、このオプションが指定されない場合に本来行うはずの処理内容を表示します。このオプションは、 -r オプションの意味も含みます。
-r
newsyslog は、root として動作しなければならない、という制約を取り除きます。もちろん、 newsyslog は、 syslogd(8) に HUP シグナルを送れなくなりますから、このオプションは、デバッグにのみ用いるべきです。
-s
newsyslog は、ログファイル入れ替え時に通常は、送っていたはずのデーモンプロセスへのシグナルを、一切送らないようにします。入れ替えられるログファイルにとっては、このオプションは、通常次の意味も持ちます。すなわち、このオプションが無かった場合に通知されるデーモンがいる場合には、入れ替えられたログファイルは、圧縮されないという意味です。しかしながら、本オプションがもっとも有用なのは、おそらく -R オプションと共に指定された場合であり、この場合圧縮は、行われます。
-t timefmt
指定されたなら、 newsyslog は、デフォルトの連続したファイル名の代わりに指定された時間の形式を使用して、“回転する”ログファイルを作成します。時間の形式は、 strftime(3) マニュアルページに説明されています。 timefmt 引数が空のストリングまたは文字列“DEFAULT”に設定されるなら、デフォルトの構築時間形式が使用されます。 timefmt 文字列が変更されるなら、以前の時間形式を使用して作成された古いファイルは、 (新しい形式が古い形式と同様でないなら) 自動的に削除されません。これは、また、連続したファイル名から時間ベースのファイル名に変更するとき、および逆に変更する場合です。時間の形式は、正しいログファイルを選択できる古いログファイルの回転を確実にするために少なくとも年、月、日と時間を含むべきです。
-C
1 回指定すると、存在しないが設定ファイルに C が指定されているログファイルを newsyslog は、作成します。複数回指定すると、 newsyslog は、存在しないファイルをすべて作成します。ログファイルがコマンドライン上に指定されると、 -C もしくは -CC は、これらのログファイルにのみ適用されます。
-F
ログを入れ替える条件に合致しないとしても、強制的に newsyslog にログを入れ替えさせます。システムの問題を診断しているときには、このオプションの使用により、問題のみを含む新しいログを提供できるので有用です。
-N
なにも入れ換えを実行しません。このオプションは、ログファイルを作成することだけが目的であるときに、 -C または -CC オプションと共に使用されることを目的としています。
-P
シグナルを送信するべきで、“pidfile”が空であるか、または存在していないなら、更なる動作を抑制します。
-R tagname
入れ換え条件が成立していなくても、 newsyslog が指定されたリストのファイルを入れ替えるべきことを指示します。 tagname は、入れ替えられるログファイルに書き込まれるメッセージにのみ使用されます。これが -F オプションと違うのは、ひとつ以上のファイルを指定する必要があり、 newsyslog がこれらの指定されたファイルに対してのみ動作するという点です。このオプションの主たる目的は、複数のログファイルを書くデーモンやプログラムで、それら自身の条件で入れ替えを引き起こしたいもののために使用することです。このオプションを使用すると、入れ替えたいときにそれらは newsyslog を実行でき、またシステム管理者が依然として入れ換え規則 (バックアップ保存数や圧縮の種類等) を指定可能とします。デーモンが newsyslog-R オプション付きで呼び出すとき、 newsyslog の呼び出し前にそのデーモンは、全ログファイルがクローズされていることを保証することと、 newsyslog が戻った後にログファイルをリオープンすることが必要です。通常、呼び出しプロセスは -s オプションも指定したいでしょうから、入れ替えを強制したプロセス自身には newsyslog は、シグナルを送らないでしょう。シグナル処理を行わないということは、 newsyslog は、通常シグナル送信後に数秒待ちますので、 newsyslog は、高速に戻ることを意味します。
-S pidfile
syslogd(8) の pidfile として pidfile を使用します。

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

関連ファイル

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

互換性

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

歴史

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

作者

Theodore Ts'o, MIT Project Athena

Copyright 1987, Massachusetts Institute of Technology

バグ

まだ、セキュリティ違反を見つけるために自動的にログを読み込みません。
January 31, 2011 FreeBSD