Apacheのログの整理について

Apacheのログの実ファイルは、「/var/log/httpd」にあります。
このディレクトリに「/etc/httpd/logs」というシンボリックリンクが設定されているので、どちらのディレクトリ名でもアクセスできます。

1. savelogs

RV-75xでは、従来のFreeBSDのシリーズと違って、初期設定でApacheのログを毎日深夜0時に整理・圧縮しています。
そして当日分を含めて最大10日間分保存され、それ以降のログは削除されてしまいます。
ここで、気を付けなければならないのは、例えばUrchinを4:00に実行させているとすると、Urchinでは0時~4時までの4時間しか、ログ解析できないこととなってしまいます。

Apacheのログの整理は、cronという定期実行コマンドによって実行されています。
コマンドの内容は、以下の通りです。(実際には1行で書かれています。)
0 0 * * * /usr/local/bin/savelogs --period
  --postmovehook=/usr/local/sbin/restart_apache
  --apacheconf=/www/conf/httpd.conf
この内最初の「0 0」が「0分0時」という意味です。(時分が逆になっています。)

この設定を変更したい場合には、「crontab」というコマンドを実行します。
# crontab -e
「-e」で編集モードとなります。

ここで、Urchinが4時00分に実行されるとして、Urchin終了後に実行したい場合は、例えば
10 4 * * * /usr/local/bin/savelogs --period
  --postmovehook=/usr/local/sbin/restart_apache
  --apacheconf=/www/conf/httpd.conf
のように実行時間を変更します。
※ここでは、Urchin開始から10分後に実行しています。

また、この処理をやめたい場合には、
#0 0 * * * /usr/local/bin/savelogs --period
  --postmovehook=/usr/local/sbin/restart_apache
  --apacheconf=/www/conf/httpd.conf
のように先頭に「#」を付ければ、コメント行となり、実行されません。
※後で処理を復活させたい場合もあるので、削除はしない方が良いです。
なお、ログの整理処理を停止させた場合には、ログファイルのサイズが日ごとに増加していきますので注意して下さい。
※定期的に手動で整理した方が良いです。

内容を変更した後に保存すれば、即座に変更が反映されます。

※現在のプランでは、crontabに上記の設定がない場合があります。その場合には、この項目は無視して結構です。

2. logrotate

Apacheのログの整理は、1.で示した他にも週ごとにも実行しています。
これはlogrotateコマンドで実行されています。
「/etc/logrotate.d」というディレクトリの中に「httpd」というファイルがあります。
/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

Apacheのログを週ごとに整理したくない場合には、行頭に#を付けて、コメントアウトします。
※ファイルを削除しても、また作成されるようです。
vi /etc/logrotate.d/httpd

【ファイルの修正】
#/var/log/httpd/*log {
#    missingok
#    notifempty
#    sharedscripts
#    postrotate
#        /sbin/service httpd reload > /dev/null 2>/dev/null || true
#    endscript
#}
 

念のため、パーミッションを000に変更します。
# chmod 000 /etc/logrotate.d/httpd





最終更新:2013年11月21日 18:36