logrotateによるログローテート

カテゴリ:ログ管理
日時:2005/01/23 13:30

ログ(基本的にはApacheのアクセスログ)の肥大化を防ぐため、logrotateでログをローテーションさせる。

まずは、emergeでインストール。
# emerge logrotate
logrotateの設定は、/etc/logrotate.confで行う。このファイルにすべての設定を記述してもよいのだが、通常は/etc/logrotate.dディレクトリに個別(サービスごとが一般的)に設定ファイルを用意し、/etc/logrotate.confに/etc/logrotate.dをインクルードさせる。/etc/logrotate.confに共通設定、/etc/logrotate.d/以下のファイルで個別設定という形になる。

ちなみに、ローテーションの実行ログは、/var/lib/logrotate.statusに記録される。 /etc/logrotate.confのデフォルト設定は以下のとおり。
#週ごとにローテーション(monthly、weekly、daily)
weekly

#4週分のログを保持
rotate 4

#ローテーション後に同名ファイルを作成
create

#ローテーションしたファイルを圧縮
compress

#/etc/logrotate.d下のファイルをインクルード
include /etc/logrotate.d

notifempty #ログが空ならローテーションしない
nomail #メールしない
noolddir #ログの出力先は同じ

#/var/log/wtmpのローテーション設定
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}
/etc/logrotate.confについては、デフォルトのままでOK。