書式
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>
ファイルがまだ存在せず、-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 に移動して圧縮すると、データを失うことになります。