• ベストアンサー

qmailのログを世代管理するには

qmailのログは、/var/log/maillogに保管されているのですが、5世代前までのファイルしかありません。 2010238 Aug 2 18:37 maillog 2049193 Jul 28 03:01 maillog.1 2262766 Jul 21 04:01 maillog.2 2227998 Jul 14 04:01 maillog.3 2352068 Jul 7 04:01 maillog.4 ログの設定はデフォルト設定なので、このようになっていると思うのですが、ファイル名に日付を入れたり、削除しないようにするにはどうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • s2t
  • ベストアンサー率79% (47/59)
回答No.2

logrotateの設定で変えられます。 /etc/logrotate.confでrotate 4となっていますが、この値を変更すればいいのでは? ただし、削除しないというのは、ストレージを食いつぶす可能性があるのでお勧めできません。 また、weeklyとなっていた場合、週単位でrotateされます。monthlyとする事で、月単位、dailyで毎日rotateさせる事ができます。 あと、rotate時に削除ではなくメールでログを送るようにする事も可能で、mail <email addr>と設定します。 これを利用して、rotate単位をdailyにして、毎日メールで管理者にログを飛ばす事もできます。 もしも、/var/log/maillogだけをそのような設定にしたい場合は、/etc/logrotate.d/syslog内の/var/log/maillogを別の設定にしてやります。 /var/log/maillog { daily notifempty rotate 0 mail foo@bar.com sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript } という感じで設定します。 詳しい使用方法は、 $ man logrotate で、確認してください。

rally
質問者

お礼

> logrotateの設定で変えられます。 初めて知りました。 このデーモンは、すべてのログの世代管理の設定になるわけですね。 とりあえずは、maillogだけの設定を変えたいので、logrotate.d/syslogの設定を変えてみます。 logのメール配信も考えてみます。 ありがとうございました。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

一番古いmaillog4があったら、お好みの名前にrenameするシェル・スクリプトを書いて、それをcronで定期実行する、 ってのはダメですか?

rally
質問者

お礼

ゴリゴリ書くのもありだと思いますが、設定ファイル等で出来るのならその方がいいので、最終手段として考えてみます。

関連するQ&A