BLOGTIMES
2010/09/19

Openfilerのログがローテートされないときは

  openfiler 
このエントリーをはてなブックマークに追加

先日からOpenfilerの/var/log/messagesが定期的に空っぽになってしまうという症状があり、おかしいなと思って観察していたところ、どうもローテートのタイミングが怪しいことが分かってきました。これまではsyslogdを再起動して復旧させていたのですが、今日、kill -HUP で復旧できるということに気づいたので、ローテート後のSIGHUPがきちんと送られていないのが原因だろうと思ってさらにいろいろ調べていたら、Openfilerには /bin/kill がないことが分かりました。

$ /bin/kill -bash: /bin/kill: No such file or directory

bashの組み込みコマンドに /bin/kill とほぼ同じの kill が用意されていて、 kill -HUP ができていたので、まさか /bin/kill がないとは思ってもみませんでした。どうやら pkill はあるようなので、 kill の代わりに pkill を使うように logrotate の設定ファイルを書き換えておきました。

--- logrotate.d.org/syslog 2010-09-19 23:25:01.000000000 +0900 +++ logrotate.d/syslog 2010-09-19 23:27:45.000000000 +0900 @@ -1,6 +1,6 @@ /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron { sharedscripts postrotate - /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true + /usr/bin/pkill -HUP syslogd 2> /dev/null || true endscript }

普段使っているディストリビューションでないと、こういう落とし穴に気づきづらいですね。
もしかしたら、これ自体はOpenfilerのバグかもしれませんが。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3803
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン