NAME

packlogs
ログファイルをアーカイヴに追加

SYNOPSIS


DESCRIPTION

指定されたディレクトリに存在するログファイルをアーカイヴに追加し、 古いものは削除します。

packlogs(8) は正規表現 ^[^\-].*\.\d+\.log$ にマッチする名前のファイルのみを対象とし、 ファイル名の末尾から 2 桁の数字と拡張子を取り除いた名前のアーカイヴに追加していきます。 例えば以下のようなファイルが存在した場合、

access.20020304.log
access.20020315.log
access.20020326.log
access.20020407.log
access.20020418.log
access.20020429.log

上の 3 つのファイルは access.200203.tar.gz に、 下の 3 つのファイルは access.200204.tar.gz に、 それぞれ追加されます。


OPTIONS

-a add_time
最終更新時刻が packlogs(8) が起動された時間より add_time 時間以上古いファイルをアーカイヴに追加します。 0 より大きな値を指定して下さい。 デフォルト値は 2.4 時間です。
-c command
アーカイヴの圧縮・展開に利用するコマンドを直接指定します。 このオプションは、 パスが通っていないコマンドをフルパス指定する為にのみ用意されています。
-d directory
処理を行うディレクトリです。デフォルト値は ~/var/log/httpd です。
-f filter
アーカイヴの圧縮後・展開前に利用するフィルタコマンドを直接指定します。 このオプションは、 パスが通っていないコマンドをフルパス指定する為にのみ用意されています。
-j
アーカイヴを tar(1) + bzip2(1) で扱います。
-l
アーカイヴを lha(1) で扱います。
-m mode
アーカイヴを新規作成する際のパーミッションを指定します。 644 というように 3 桁の 8 進数で指定して下さい。
-n
処理内容を表示し、実際の処理は行いません。
-p
アーカイヴを zip(1) (PKZIP) で扱います。
-r remove_time
最終更新時刻が packlogs(8) が起動された時間より remove_time 時間以上古いファイルを、 ファイルシステムから削除します。 -a オプションより大きな値を指定して下さい。 デフォルト値は 720 時間 (30 日) です。
-v
ヴァージョン情報を表示し、 -n が指定されていない限り即座に終了します。
-z
アーカイヴを tar(1) + gzip(1) で扱います。 この形式がデフォルトです。

BUGS

環境変数 PATH の汚染を除去する際に 「MSWin32」か 「それ以外」で処理を分けている為、 階層やパス同士の区切り文字が UNIX 系 OS と異なるシステムでは、 各バイナリをフルパスで指定してやる必要があります。 -c オプション及び -f オプションを利用して下さい。

AUTHORS

一次配布元:
BYOR

本スクリプトは修正 BSD ライセンスにて公開されています。


HISTORY

v0.0.2 / 2002.10.04.
安全性に問題がある部分の補強。
UNIX 系以外の OS も形ばかり考慮。
v0.0.1 / 2002.09.28.
Apache 付属の rotatelogs(8) の補助用に作成。

Top