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と書き換えが必要らしい。
一瞬あわてました。