QA@IT

logrotateの設定について

2595 PV

失礼します。

Linuxのlogrotateを使って、以下のようにログローテーションを
分けることは可能でしょうか?

①logrotate.confに記述されている
/var/log/*/messages は10Mのサイズでローテーションする。

②logrotate.d/配下にある
/var/log/host1/messagesは100Mのサイズでローテーションする。

以上の設定を行った場合、②で指定した100Mサイズのローテーションを
無視して、①のローテーションが実行されるのでしょうか?
実行されてしまう場合、ローテーションする前に指定したローテーションの実行を
prerotateにスクリプトを記述しキャンセルすることは可能でしょうか?

ご教授お願いします。

OSはCentos6.3 バージョンはlogrotate-3.7.8-15.el6.x86_64 になります。

回答

#2のlogrotate.d/ の配下に /var/log/host1/messagesをローテーション対象とする設定ファイルが入ってるものとして回答します。

今回の場合、ローテーション前にエラー終了します。
logrotateコマンドは、最初にローテーション対象のログファイルに重複がないかチェックします。そのチェックで弾かれます。
以下のコマンドで、動作をさせず設定ファイルの内容を確認できます。

logrotate -d /etc/logrotate.conf 

ですから対応としては、以下のどちらかになります。

  1. logrotate.confに記述されている * をやめて個別に記述する
  2. /var/log/host1/messages へのログ出力をやめて別の場所にする
編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。