ログのローテーションについて
本マニュアルではログの肥大化を防ぐためのlogrotateの設定をご案内いたします。
logrotateの設定が初期状態のままですと、ログファイルは次第に肥大化し、 最終的にはお客さまのディスク容量を逼迫するようになります。
Webやmessagesなどのログによるディスク容量の占有率増加を防止するために logrotateの設定を適切に行なうことをお勧めいたします。
- logrotateとは、ログをローテーションするためのツールです。
- logrotateは初期状態でインストールされておりますので、「rpm -qi logrotate」などのコマンドでご確認ください。
logrotateの設定
logrotateの設定ファイルは、/etc/logrotate.conf です。
cat などで開いてみると、以下のような設定がされていることがわかります。
# cat /etc/logrotate.conf # rotate log files weekly weekly (毎週ログをローテーションする daily:毎日、monthly:毎月) # keep 4 weeks worth of backlogs rotate 4 (ログを4世代分残す) # create new (empty) log files after rotating old ones create (ローテーション後に新規でログファイルを作成する) # uncomment this if you want your log files compressed #compress (# を削除すれば、ローテーションしたログをgzipで圧縮する) # RPM packages drop log rotation information into this directory include /etc/logrotate.d (各ログファイルの設定がおかれている場所) # no packages own wtmp -- we'll rotate them here /var/log/wtmp { monthly minsize 1M create 0664 root utmp rotate 1 }
- 行頭に「#」が記載されている行はコメントアウト(設定として有効でない)です。
- 日本語コメント箇所は説明のためにNTTPCにて記載しておりますのでconf内に転記しないようお願いします。
上記の設定内容は、以下のとおりです。
ログファイルが肥大化しにくい設定になります。
- 毎週ログをローテンションして、4世代分残す(つまり、4週間分)。
- 圧縮はしない。
logrotateの設定例
ログの肥大化を防止するために有効な設定一例を以下に記載いたします。
ログのローテーションの間隔を短くする。
weekly → daily
各種ログファイルサイズが小さく分割されることでlogrotate処理時のサーバー負荷低減が図られ、お客さまのサーバーのより安定した稼動につながります。
短期間でログが肥大化する可能性がある場合、ローテーションの間隔を短くすることが有効です。
ログを圧縮する
#compress → compress
各種ログファイルをgz形式で圧縮しますので、ログファイル肥大化によるディスク容量の逼迫を防止します。
- 設定変更は、viなどのエディターで /etc/logrotate.conf を編集、上書き保存で完了です。
- logrotateが実行される曜日、時間などについては /etc/crontab で制御しております。