UNIXな生活
更新:2003/3/26  
Linuxな生活  FreeBSDな生活
 Solarisな生活
 JAVAな生活
 Practical use
 掲示版
apacheなどのログローテーション(newsyslog)

Apache,mod_jkなどのログは、放っておけばどこまでも増え続けます。
そこで、ログファイルのローテーションを行います。
FreeBSDでは、newsyslogがデフォルトで使用できますので、これを利用します。

newsyslogの設定ファイルは、/etc/newsyslog.confです。

apacheとmod_jkのログは、/usr/local/apache/log以下にある場合です。
Apache=access_log,error_log
mod_jk=mod_jk.log

/etc/newsyslog.confサンプル
# logfilename          [owner:group]    mode count size when [ZJB] [/pid_file] [sig_num]
/var/log/cron                           600  3     100  *     Z
/var/log/amd.log                        644  7     100  *     Z
/var/log/auth.log                       600  7     100  *     Z
/var/log/kerberos.log                   600  7     100  *     Z
/var/log/lpd-errs                       644  7     100  *     Z
/var/log/maillog                        640  7     *    @T00  Z
/var/log/sendmail.st                    640  10    *    168   B
/var/log/messages                       644  5     100  *     Z
/var/log/all.log                        600  7     *    @T00  Z
/var/log/slip.log       root:network    640  3     100  *     Z
/var/log/ppp.log        root:network    640  3     100  *     Z
/var/log/security                       600  10    100  *     Z
/var/log/wtmp                           644  3     *    @01T05 B
/var/log/daily.log                      640  7     *    @T00  Z
/var/log/weekly.log                     640  5     1    $W6D0 Z
/var/log/monthly.log                    640  12    *    $M1D0 Z
/var/log/console.log                    600  5     100  *     Z
/usr/local/apache/logs/access_log       644  3     100  *     Z  /usr/local/apache/logs/httpd.pid 30
/usr/local/apache/logs/error_log        644  3     100  *     Z  /usr/local/apache/logs/httpd.pid 30
/usr/local/apache/logs/mod_jk.log       644  3     300  *     Z  /var/run/WebService


logfilename=ログファイルをしています。
[owner:group]=省略可能です。ログファイルのオーナーとグループを指定します。
mode=ログファイルのパーミッションを指定します。
count=何世代分ローテーションするか指定します。
size=
サイズでローテーションさせる場合に指定します。無指定は*です。
when=ある一定期間(日、週、月)などを指定します。
[ZJB]=省略可能です。ローテーションされたログファイルの圧縮形式をしています。
[/pid_file]=省略可能です。指定ログを出力するデーモン(アプリケーション)のpidファイルを指定します。
[sig_num]=省略可能です。
     Apahce にログファイルが変更されたことを伝えるのに SIGUSR1 というシグナルを送る必要があります。
     UNIX(POSIX) の SIGUSR1 の値が 30 番なのでその値を書いてください。


Apacheに限らずログローテーションの設定を行ってください。
Tomcatは日付入りログファイルを作成するため、newsyslogでお手軽に、とはいきません。
設定変更して、日付無くなればいけそうですが、、、。現在調査中。

newsyslog.confを設定したら、cronデーモンを再起動してください。



Producted by Tomoya Sakurai