最終更新日:2012年12月15日

Homeへ

Webalizerの実行

定期的に自動実行させる場合:

DebinaやSL-Linuxなどで、パッケージよりWebalizerをインストールした場合には、毎日定期的にWebalizerが処理を開始するためのジョブが登録されています。
(Debianでは"/etc/cron.daily/webalizer"、SL-Linuxでは"/etc/cron.daily/00webalizer")
これらでは、Webalizerの設定ファイルへの設定が完了していれば定期的にApacheのログファイルを開始して設定ファイルで指定した出力先にレポートを作成します。
ソースファイルからWebalizerをコンパイルした場合には、定期的にWebalizerが実行されるようにスクリプトを以下のように作成すると良いでしょう。
/etc/cron.daily/webalizer
#!/bin/sh

if [ -s /var/log/httpd/access_log ]; then
    exec /usr/bin/webalizer -Q
fi
 
作成した上記のスクリプトには実行権を与えておいてください。
# chmod +x /etc/cron.daily/webalizer


手動で実行する場合:

Webalizerを手動で実行する場合、Webalizerの設定ファイルへの設定が完了していれば単に以下のようにコマンドを実行するだけです。
# webalizer



レポートの自動生成に関する注意:

通常、LinuxではWebアクセスのログは毎日または月に1回程度でローテーションが行われます。
ローテーションはそれまで記録していたログファイルを別の名前にして、ログを新しいく作るようにする作業です。
例えばWebアクセスログの場合、それまでの"access.log"を"access.log.1"といった名前に変更した上で、新たに"access.log"を作り出します。
このとき、Webalizerの実行について検討する必要があります
通常、ログのローテーションは深夜0時では無く0時から5時くらいまでの間で実行されるようになっているディストリビューションが大半となっているため、例えばDebianのように4時位にローテーションが実施されるシステムですと、Webalizerの実施時間によっては最後にWebalizerを実施後にローテーションが行われるまでの期間のアクセスログが解析結果に反映されない可能性があります。
これを避けるためには、ログのローテーション直後に、ローテーションされた名前のログファイル("access.log.1")を使ってWebalizerを実行することが望ましいことになります。
パッケージを使ってレポートが自動生成されるようにした場合、此のあたりの処理は抜けている可能性があるので、できるだけ正確なレポートが欲しい場合には、ローテーションのタイミングを自分で調整したり、ローテーション直後に一度、古いログファイルでWebalizerを実行実行させるなどの工夫を必要とします。

Homeへ

Copyright© 1998-2012 ROBATA.ORG