logwatchをweeklyで出力
サーバーを何台も管理していると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/