更新日: 2011-07-30 14:38:59

Linux シスログなどをローテーションする方法

著者: benijake-T

編集者: OKWAVE Guideスタッフ

閲覧数: 727

Okgn btn gudie info favorite

0

関連タグ:

はじめに

各種ログファイルは放置しておくと時間とともに肥大化します。この問題を解決するのがログローテーションです。 ログローテーションは、例えばlogというログファイルの名前をlog1 log2 log3…というように定期的に回してバックアップします。
ローテーション数を4にしたのであれば定期的にlog4のログはlog3に上書きされ、log3のログはlog2に上書きされ、log2のログはlog1 に上書きされ log1のログはlogに上書きされます。そして新たな空のログファイルlogが生成されます。一週間間隔でローテーションするのであればログファイルは1週間ログデータが記録されるごとに空になり、4週間分のログファイルがバックアップされていることになります。

STEP1

logrotateの設定ファイル/etc/logrotate.confのデフォルトは以下のようになっている。

logrotate.d

設定値 説明
compress ローテーションされたログをgzipで圧縮する。
create [パーミッション] [ユーザ名] [グループ名] ローテーション後に新たな空のログファイルを作成します。
ファイルのパーミッション、ユーザ名、グループ名を指定できます。
daily 毎日ログローテーションする。
ifempty ログファイルが空でもローテーションする。
missingok ログファイルが存在しなくてもエラーを出さない。
monthly 毎月ログローテーションする。
nocompress ローテーションされたログを圧縮しない。
nocreate 新たな空のログファイルを作成しない。
nomissingok ログファイルが存在しない場合エラーを出す。
noolddir ローテーション対象のログと同じディレクトリにローテーションされたログを格納する。
notifempty ログファイルが空ならローテーションしない。
olddir ディレクトリ名 指定したディレクトリ内にローテーションされたログを格納する。
postrotate - endscript postrotateとendscriptの間に記述されたコマンドをログローテーション後に実行する。
prerotate - endscript postrotateとendscriptの間に記述されたコマンドをログローテーション前に実行する。
rotate 回数 指定した回数だけローテーションする。
size ファイルサイズ ログファイルが指定したファイルサイズ以上であればローテーションする。
sharedscripts 複数指定したログファイルに対してpostrotateまたはprerotateで記述されたコマンドを実行する。
weekly 毎週ログローテーションする。

【PR】

このガイドは役に立ちましたか?ガイドの著者にお礼を伝えよう!

Okgn btn gudie info thunks b

31

関連タグ:

当ガイドは作成日時点での情報です。ガイド内容の実施はご自身の責任の元、ご利用いただきますようお願いいたします。

このガイドを通報する