logrotate はどんどん肥大化していくログファイルを分割管理してくれる機能です。

例えばファイル maillog に対して周期2で週1回 logrotate をしていれば

maillog ( ← 最新のログ)
maillog.1 ( ← 前回の1週間分のログ)
maillog.2 ( ← 前々回の1週間分のログ)

と分割し、ずっと前のログは削除されます。


ちなみに自分は

btmp

というログファイルが肥大化していました。


ここにはログインに失敗したユーザーが記録されます。

直接読んでも良くわからないのでコマンド lastb を実行すると見ることが出来ます。

たぶん不正アクセスを試みられたためだと思われます。


またbtmpに対してlogrotateも設定されていなかったので

結構なファイルサイズになっていました。


logrotateの設定は

/etc/logrotate.conf

に書くか、ディレクトリ

/etc/logrotate.d

の中に設定ファイルを置きます。

btmpの設定は直接logrotate.confに書きました。


もともとlogrotateの最後の方は

/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}

となっていました。

wtmpはログインに成功したユーザーが保存されます。(コマンド last で見ることが出来ます。)

このログをもっととっておきたいのでrotate 12にし、

また目的であったbtmpの設定を追加して

/var/log/wtmp {
monthly
create 0664 root utmp
rotate 12
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}

としました。

これで月に1回、btmpのファイルがlogrotateされて肥大化しなくなるはず。

すぐにテストできないので結果はゆっくり待ってみたいと思います。



ayano