« Pursuit of Radical Rhapsody(Al Di Meola) / Parting Shot(Steve Khan) - 買ったCD | メイン | 携帯サイト向けのGoogle Analyticsでページタイトルも取得する »


fetchmail.logにlogrotateを仕掛けるとサービスが停止する・・・

root 権限で回している fetchmail のサービスのログが結構な勢いで肥大化するので logrotate を仕掛けたら、ログがローテーションされるタイミングで何故かサービスが止まってしまう問題にぶち当たったのでその対策なんかを書いておこうと思います。

やりたいことは、「一週間に一回ログを切り捨てて、そのタイミングでサービスをリスタートする。」という至ってシンプルな内容ですが、logrotate を仕掛けたところログは切り捨てられるけど、サービスが止まってしまう現象が発生しました。

で、設定が悪いのかと思い、色々とテストをするのですが crontab で設定した場合は上手く行くのに、なぜか cron.daily で実行された場合のみ上手くいかないという、良く分からない状況になってしまい、何日かはまりました...

最終的には動くようになりましたけど、なんで cron.daily だと動かなかったのかは未だに謎です。

もともと設定していた logrotate の設定 /etc/logrotate.d/fetchmail は以下のような感じです。

/var/log/fetchmail.log {
weekly
rotate 4
missingok
postrotate
	/etc/rc.d/init.d/fetchmail restart
endscript
}

まぁ、普通ですよね。
postrotate の出力を null に落としてないのは単純に面倒だったからというのもありますが、しばらく動作確認をするためという意味もあります。

が、これだとログはローテーションされますが、サービスが止まった状態になってしまいました。

なので、試しに weekly じゃなくて size=10 のように指定し、crontab で以下のように設定し実行してみたのですが、問題なくローテーションされ、サービスも正常に再起動します。

5 * * * * /usr/sbin/logrotate /etc/logrotate.conf

ここからは色々と試したのですが、以下のように出力を null に落としてもサービスは起動しません。

postrotate
	/etc/rc.d/init.d/fetchmail restart > /dev/null
endscript

結構はまってしまったのですが、色々とテストしているときに root 宛のメールの中に以下のようなメッセージを発見!

/etc/cron.daily/logrotate:

fetchmail for root stoping...(PID=27786)
fetchmail: 警告: root アカウントでの実行はお薦めできません。
fetchmail: バックグラウンドの fetchmail (PID=27786) が終了しました。
fetchmail for root starting...
fetchmail: 警告: root アカウントでの実行はお薦めできません。
fetchmail: メールサーバが指定されておりません。

つまり、設定ファイルが読み込めてないってことなんですよね、たぶん。。。

っということで、/etc/logrotate.d/fetchmail を以下のように修正してみました。

/var/log/fetchmail.log {
weekly
rotate 4
missingok
postrotate
   /etc/rc.d/init.d/fetchmail stop
   /usr/bin/fetchmail -f /root/.fetchmailrc
endscript
}

restart じゃなくて stop で一旦止めてから、設定ファイルを指定して起動させています。

なぜ crontab ではこの書き方が必要なくて cron.daily とかだと必要なのかは良く分かりません。
ただ、この書き方だと cron.daily でも正常に起動することがわかりました。

うーん、謎です。
権限が違うんですかねぇ?

よくわかりません。



よろしければ投票をお願いします!
人気blogランキング 人気ブログランキング・ブログ検索:ランブロ

Amazon の関連商品

トラックバック

このエントリーのトラックバックURL:
http://www.grimonet.com/sys/mt/mt-tb.cgi/570

スパム対策のためトラックバックが正常反映されない場合があります
トラックバックが反映されない等の問題が発生した場合には、下記のフォームからコメントをお願いします。

コメントする


画像の中に見える文字を入力してください。


最近流行のブログのように、簡単にオンラインショップが構築できちゃう、
Color Me Shop! pro】は、オンラインショップ構築の容易さだけではなく、
商品管理や決済も簡単にできちゃう初心者でも安心の機能を標準装備!
無料提供のショップブログとも連携できて月額875円~。この機会に是非!

関連ページなど

アーカイブ

フィードを取得

 RSSリーダーで購読する

お使いのリーダーに追加してください!!
最新の情報をお届けします!!

フィードメーター - INOLOG Ver.2

最近のコメント