サーバーを何台も管理しているとlogwatchのメールが大量になり、ほとんど読まなくなってしまう。
止める、というのも一つの手だが何も見ないのも不安。

ということで、weeklyにして読む手間を軽減させてみようと試みた。

まずは集計期間がデフォルトだと実行日の前日なので、それを直前1週間にする。

http://list.logwatch.org/pipermail/logwatch/2007-October/001583.html
によると、
logwatch –service postfix –range “between -7 days and -1 days”
のように、rangeを書けばよいらしい。
ところが、

This system does not have Date::Manip module loaded, and therefore
the only valid --range parameters are 'yesterday', 'today', or 'all'.


ということで、Date::Manip を入れないとだめらしい。ところが、指示通り

cpan -i 'Date::Manip'


としても、

Can't locate feature.pm in @INC

at /root/.cpan/build/Date-Manip-6.00/blib/lib/Date/Manip/Base.pm line 22


というエラーが出てインストールできず、該当箇所を見ると、

use feature "switch";


とあり、これが今使っているperlのバージョンでは使えないらしい。(CentOS 5.3 でver 5.8.8)

旧バージョンの Date::Manipならどうかと
http://vlog.blog32.fc2.com/blog-entry-111.html
を参考にして試したところ見事成功。


あとは、設定を /etc/logwatch/conf/logwatch.conf に書き、/etc/cron.daily/ にある 0logwatch を /etc/cron.weekly に移動して完了。

コマンド:

cpan S/SB/SBECK/Date-Manip-5.54.tar.gz
echo Range = between -7 days and -1 days >> /etc/logwatch/conf/logwatch.conf
mv /etc/cron.daily/0logwatch /etc/cron.weekly/