SAVELOG(8)

名前
savelog - ログファイルの保存

書式
savelog [-m mode] [-u user] [-g group] [-t] [-p] [-c cycle] [-l] [-j] [-J] [-1 .. -9] [-C] [-d] [-l] [-r rolldir] [-n] [-q] [-D dateformat] file ...

説明
savelog コマンドは、古いファイルのコピーを保存し、オプションで圧縮を行います。file の古いバージョンは、以下のように名前がつきます。
    file.<number><compress_suffix>
<number> は版番号です。0 が最も新しくなります。版番号が > 0 の場合、-l を指定して抑制しない限り圧縮します。版番号 0 は、プロセスがまだ I/O のために開いている可能性があるため、圧縮しません。ファイルを cycle 版までしか保存しません。 ファイルがまだ存在せず、-t を与えられると、ファイルを生成します。 ファイルが存在し、ファイルの長さが 0 バイトより大きい場合、以下のアクションを実行します。

1)  版番号ファイルを循環します。版 file.2 を版 file.3 に移動し、版 file.1 を版 file.2 に移動する、などのようにします。最後に版 file.0 を版 file.1 に移動し、file を削除します。圧縮名・非圧縮名ともに -l に関係なく循環します。見つからない版ファイルは無視します。

2)  -l を与えられた場合、新しい file.1 は圧縮されます。このとき -m, -u, -g の各フラグにより、その対象が変更されます。

3)  メインの file を file.0 に移動します。

4)  -m, -u, -g, -t, -p の各フラグが与えられた場合、そのフラグに該当する空の file を生成します。-p フラグの場合、以前と同じ所有者、グループ、パーミッションで生成します。

5)  新しい file.0 を -m, -u, -g の各フラグに応じて変更します。

オプション

-m mode
    ログファイルを mode に chmod します。-t を暗示します。

-u user
    ログファイルを user に chown します。-t を暗示します。

-g group
    ログファイルを group に chgrp します。-t を暗示します。

-c cycle
    ログファイルの保存する版を cycle までとします (デフォルト: 7)。cycle は 2 以上でなければなりません。

-t  新しいログファイルを生成するよう touch します。

-l  ログファイルを圧縮しません (デフォルト: 圧縮する)

-p  ログファイルの所有者、グループ、パーミッションを保持します。

-j  gzip に代えて bzip2 で圧縮

-J  gzip に代えて xz で圧縮 xz で 強度オプションを与えない場合、xz はデフォルトで物理メモリ量をベースに判断します。xz は、圧縮レベルを高めるために、非常に大きなメモリが必要なことに注意してください。

-1 .. -9
    圧縮強度やメモリー使用量 (デフォルト: 9、xz 除く)

-C  強制的な循環ログファイルの一掃

-d  循環に標準日を使用します。

-D dateformat
    日付フォーマット ([MMDDhhmm[[CC]YY][.ss]]) の上書き

-r  ファイルの循環をする際に . に代えて rolldir を使用します。

-n  空ファイルを回転しない

-q  静かに

バグ
プロセスが file.0 にまだ書き込んでいる間に、savelog が file.1 に移動して圧縮すると、データを失うことになります。

関連項目
logrotate(8)

翻訳
倉澤 望 <nabetaro@debian.or.jp>, 2012
Debian JP Documentation ML <debian-doc@debian.or.jp>