スポンサーリンク

logrotate: ALERT exited abnormally with

サーバーのFC3のログを見るとlastlogが19MB、access_logが7MBに肥大していた。
どうもlogrotateされていないようだ。

messageをgrepしてみると沢山表示された。

grep logrotate /var/log/message
logrotate: ALERT exited abnormally with [1]

exited abonormallyだと何が原因なのかさっぱりわからない。
Google先生に聞くもあまり答えてはくれなかった。
logrotateで失敗すること自体少ないのかもしれない。
しかし幾つか有用な情報を入手することができた。
lastlogをログローテートするには、
/etc/logrotate.confに以下を書き込まなければいけないとのこと。

# no packages own wtmp -- we'll rotate them here
/var/log/lastlog {
monthly
rotate 1
}

/var/log/httpd/*logは/var/lib/logrotate.statusを見てみると、
大分前から実行されていない。
そこで手動で実行してみた。

./cron.daily/logrotate
error: error accessing /var/log/snort/*: No such file or directory
error: snort:4 glob failed for /var/log/snort/*/*log


幸いにしてエラーが採取できた。
どうやらsnortのlogがないためのようだ。
snortはもう動かしていないので/etc/cron,daily/snortを削除し、
もう一回手動起動した。
今回はエラーはなく正常に終了した。
しかし/var/log/httpd/access_logは変わらず7MB。
/etc/log/lastlogは19MB。
ログローテートされてないようだ。
しかし/var/lib/logrotate.statusには

"/var/log/httpd/access_log" 2005-7-6


があったので正常のようだ。

  • d オプションで、実際の処理を行わない実行、
  • v オプションで、実際の処理を行う詳細出力つきの実行

[root@nobunaga cron.daily]# /usr/sbin/logrotate -d /etc/logrotate.conf
rotating pattern: /var/log/httpd/*log after 1 days (4 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/httpd/access_log
log does not need rotating

        • omit----

considering log /var/log/lastlog
log does not need rotating


エラーでローテートされていないのではなく、必要がないとのこと。
どうやら正常になっていたようだ。

試しに/var/lib/logrotate.statuのaccess_logとlastlogの実行日を、
1ヶ月ほど過去に設定して上書き保存してlogrotateを実行した。
するとついにlastlog、access_logともにローテートされた。