apacheのログのローテート


長らくapacheのlogをFreeBSDでnewsyslogを使ってローテートしていたのだが、いまさら発見したネタをひとつ。
/etc/newsyslog.confには次のように書くらしい。

/var/log/access.log 644  12     *   $M1D0 J   /var/run/httpd.pid 30
/var/log/error.log   644  12     *   $M1D0 J   /var/run/httpd.pid 30

Apahce にログファイルが変更されたことを伝えるには SIGUSR1 というシグナルを送る必要があるそうなのだが、UNIX(POSIX) の SIGUSR1 の値が 30 番なのでその値を書くものらしい。
いやー知らんかったすわ。いままでシグナルの種類書いてなかった…


(2004/11/14)
ついでにPIDを記録しておくファイルの位置を変更したのだが、apachectl restartなどとしても失敗するようになった。
原因を調査したところ、apachectlにPID fileの場所が書いてあり、PIDFILE=/var/run/httpd.pidと書き換えが必要らしい。
一瞬あわてました。

  1. わーい。ちょうどさばのろぐがでかくなったのでたすかりました。

  2. yoshi(管理人)

    それはなによりです。
    僕は久しぶりにログをローテートさせたら、bzipプロセスが大忙しでした。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>