EN JA
NEWSYSLOG.CONF(5)
NEWSYSLOG.CONF(5) FreeBSD File Formats Manual NEWSYSLOG.CONF(5)

名称

newsyslog.confnewsyslog(8) の設定ファイル

解説

newsyslog.conf ファイルは、 newsyslog(8) ユーティリティのためのログファイルのローテイション (rotation) を設定をするために使用されます。設定は、ログが、サイズ、最後のローテイション時間または時刻に基づいてローテイトされることを指定します。 newsyslog.conf は、また、ローテイト時にログファイルの安全なパーミッションを指示するのにも使うことができます。初期化の際に newsyslog(8) は、設定ファイルを、通常は、 /etc/newsyslog.conf から読み込み、どのログファイルがローテイトされ保存されうるのかを決定します。各行は、空白で区切られた、5 つの必須フィールドと 4 つのオプションフィールドからなります。空行や‘ #’で始まる行は、無視されます。‘ #’が行の途中にある場合、‘ #’文字とこの後の行の残りは、無視されます。この特殊な意味を避けるために、‘ #’文字を‘ \’でエスケープ可能です。この場合、前の‘ \’は、削除され、‘ #’は、通常文字として扱われます。設定ファイルの各フィールドは、以下の通りです:
logfile_name
保存するシステムログファイル名か、リテラル文字列の“< default>”または“< include>”です。この特別なデフォルトエントリが使用されるのは、 newsyslog(8) のコマンドライン引数としてログファイル名が与えられ、このログファイル名が設定ファイル中の他のどの行ともマッチしない場合だけです。 include エントリは、他の設定ファイルをインクルードするために使用され、グロブ (ファイル名置換) をサポートします。
owner: group
このオプションフィールドは、保存ファイルの所有者とグループ名を指定します。 owner あるいは group のどちらかが空白のままである場合でも‘ :’は、必須です。指定は、数値、あるいは /etc/passwd/etc/group にある名前で行います。
mode
ログファイルと保存ログファイルのファイルモードを指定します。
count
残しておく保存ログファイルの最大数を指定します。これは、現在のログファイルは、考慮に入れません。
size
ログファイルのサイズが size キロバイトに達すると、ログファイルは、上述のように入れ替えられます。このフィールドが単一のアスタリスク (‘ *’) である場合、ログファイルのサイズによる入れ替えはされません。
when
when フィールドは、インターバル、特定の時刻、もしくは両方です。 when フィールドが単一のアスタリスク (‘ *’) の場合、ログのローテイトは、 size フィールドにのみ依存します。そうでない場合、 when フィールドは、オプションの、時間単位のインターバルであり、通常は、これに単一の‘ @’記号と制限付 ISO 8601 フォーマットの時刻が続きます。さらに、単一の‘ $’記号と共に時刻を指定し、日に 1 回、週に 1 回、もしくは月に 1 回の所定の時刻にログファイルをローテイトするように指定することもできます。

newsyslog(8) が指定された時刻の 1 時間以内に実行される場合のみ、時間に基づいたトリミング (調整) が起こります。インターバル時間が指定された場合、最後のローテイトからその時間数が経過した場合に、ログファイルをローテイトします。時刻とインターバルの両方が指定された場合、入れ替えが実行されるには、両方の条件が満たされることが必要です。

タイムゾーンは、指定できません。現在の実装では、明確に分や秒の部分を指定することは、ほとんどできません。“1 時間以内”であることのみ、比較するからです。

ISO 8601 制限付時刻フォーマット:

制限付 ISO 8601 時刻の先行文字は、‘ @’記号です。制限付 ISO 8601 フォーマットでの特定の時刻の指定は、次の通りです: [ [ [ [ [ cc] yy] mm] dd][ T[ hh[ mm[ ss]]]]]。日付フィールドは、オプションであり、デフォルトは、現在の日付です。時刻フィールドは、オプションであり、デフォルトは、午前 0 時です。よって、今日が 1999 年 1 月 22 日の場合、次の日付指定は、すべて同等です:

  • 19990122T000000
  • 990122T000000
  • 0122T000000
  • 22T000000
  • T000000
  • T0000
  • T00
  • 22T
  • T

日・週・月の時刻フォーマット:

日・週・月の時刻フォーマットの先行文字は、‘ $’記号です。日・週・月の指定の特定のフォーマットは、それぞれ次の通りです: [ Dhh], [ Ww[ Dhh]], [ Mdd[ Dhh]]。オプションの時刻フィールドのデフォルトは、午前 0 時です。日と時刻の指定の範囲は、次の通りです:

hh
時刻であり、0 から 23 の範囲
w
曜日であり、0 から 6 の範囲で、0 が日曜日
dd
日であり、1 から 31 の範囲か、最終日を指定するための文字‘ L’または‘ l

以下に例を示します:

$D0
毎晩午前 0 時にローテイトします ( @T00 と同じです)
$D23
毎晩 23:00 にローテイトします ( @T23 と同じです)
$W0D23
毎週日曜日の 23:00 にローテイトします
$W5D16
毎週金曜日の 16:00 にローテイトします
$M1D0
毎月最初の日の午前 0 時にローテイトします (その日の開始時点です; @01T00 と同じです)
$M5D6
毎月 5 日の 6:00 にローテイトします ( @05T06 と同じです)
flags
このオプションフィールドは、1 つ以上の文字からなり、この行にマッチするログファイルに対して行われる特殊処理を指定します。有効なフラグは、以下の通りです:
B
ファイルがバイナリファイルまたは特殊フォーマットであることを指示します。通常、 newsyslog(8) は、ログファイルをローテイトするときに ASCII メッセージをログファイルに挿入します。このメッセージは、いつ、そして時には、何故ログがローテイトされたかを示すのに用いられます。 B が指定された場合、この情報メッセージは、ログファイルへ挿入されません。
C
ログファイルが存在せず、かつ -C オプションがコマンドラインに指定されていた場合、ログファイルが作成されるべきことを指示します。
D
ログファイルの新しい版を作成するとき、 newsyslog(8)UF_NODUMP フラグをセットさせることを指示します。このオプションは、 dump(8) コマンドがファイルシステムバックアップを作成するときの、このログファイルの取扱いに影響します。
G
指定した logfile_name がシェルパターンであることを示し、このパターンにマッチする全ファイル名を newsyslog(8) がアーカイブすることを意味します。文法とマッチ規則についての詳細は、 glob(3) を参照してください。
J
newsyslog(8)bzip2(1) を使用してローテイトされたログファイルを圧縮することによってディスク空間を節約することを試みるべきであることを示します。
X
newsyslog(8) が、 xz(1) を使用してローテイトされたログファイルを圧縮することによってディスク空間を節約することを試みるべきであることを示します。
N
このログファイルがローテイトされるとき、シグナルを送られる必要があるプロセスがないことを示します。
R
このフラグが設定されるなら、 newsyslog(8) は、ファイルに格納されたプロセス ID にシグナルを送る試みの代わりにローテイションの後に path_to_pid_cmd_file で定義されたシェルコマンドを実行します。
U
path_to_pid_cmd_file で示されるファイルが、プロセス ID ではなくプロセスグループ ID を含むことを指示します。このオプションは、そのファイル中の最初の行が負数であり、プロセス ID と区別できるようになっていることを必要とします。
Z
newsyslog(8) が、 gzip(1) を使用してローテイトされたログファイルを圧縮することによってディスク空間を節約することを試みるべきであることを示します。
-
マイナス記号は、何も特別な処理を引き起こしませんが、後続フィールド指定時に、 flags フィールドの埋め草として使用可能です。
path_to_pid_cmd_file
このオプションフィールドは、デーモンのプロセス ID、または U フラグ指定時には、デーモンのプロセスグループ ID を含むファイルを指定します。このフィールドが存在しているなら、 signal_number が、このファイルに含まれたプロセス ID に送られます。このフィールドが存在していなくて、 N フラグが指定されていないなら、 SIGHUP シグナルが、 syslogd(8) または newsyslog(8)-S スイッチによって指定されたファイルにあるプロセス ID に送られます。正しく認識するために、このフィールドは、‘ /’から開始する必要があります。 R フラグで使用されるとき、ファイルは、シグナルを送信する代わりにローテイションの後に newsyslog(8) によって実行されるバイナリへのパスとして扱われます。
signal_number
このオプションフィールドは、デーモンプロセス (または U フラグ指定時には、プロセスグループに属する全てのプロセス) に送られるシグナル番号を指定します。このフィールドが存在しない場合、 SIGHUP シグナルが送られます。

使用例

次は、“< include>”エントリの例です:
<include> /etc/newsyslog-local.conf

歴史

このマニュアルページは、 FreeBSD 4.10 ではじめて登場しました。
March 21, 2012 FreeBSD