1秒で10万行を処理するフリーの超高速なログ解析ソフト「Visitors」 - GIGAZINE

そんなに速かったかな。もう少しかかった気がする。

実際、
5385693 lines processed in 148 seconds
4590587 lines processed in 126 seconds
だった。

Visitorsの難点は解析時にログファイルそのものが必要になること。前回の解析結果を使ってくれない。このあたりはawstatsの方が使い勝手がいい。
下記のcron用スクリプトを以前書いたのだけど、これだと空のファイルしか生成されないorz
このスクリプトを手動で実行すればちゃんと動くのに…。
原因が判明。visotorsは/usr/local/bin/に置いていたのだけれど、PATHに入っていなかった…。と言うわけで、cronで動かすスクリプト内ではフルパスを指定した方がよい。

cron.weekly/visitors

#!/bin/sh
#zcat /var/log/httpd/access_log.*.gz
zcat /var/log/httpd/access_log.*.gz \
  | /usr/local/bin/visitors - -A -m 30 -o html --trails -P http://www.example.jp \
  > /home/htdocs/logs/`date '+%Y%m'`.html &
zcat /var/log/httpd/access_log.*.gz \
  | /usr/local/bin/visitors - -P http://www.example.jp -V | /usr/bin/dot -Tpng \
  > /home/htdocs/logs/`date '+%Y%m'`.png &

cron.monthly/visitors

#!/bin/sh
zcat /home/logs/access_log.*.gz | gzip -c \
  > /home/logs/access_log_monthly.`date -d '1 month ago' '+%Y%m'`.gz

zcat /home/logs/access_log_monthly.`date -d '1 month ago' '+%Y%m'`.gz  \
  | /usr/local/bin/visitors - -A -m 30 -o html --trails -P http://www.example.jp \
  > /home/htdocs/logs/`date -d '1 month ago' '+%Y%m'`.html

#zcat /var/log/httpd/access_log.*.gz | /usr/local/bin/visitors - -P http://www.example.jp -V | /usr/bin/dot -Tpng > /home/htdocs/logs/`date -d '1 month ago' '+%Y%m'`.png
zcat /home/logs/access_log_monthly.`date -d '1 month ago' '+%Y%m'`.gz \
  | /usr/local/bin/visitors - -P http://www.example.jp -V | dot -Tpng \
  > /home/htdocs/logs/`date -d '1 month ago' '+%Y%m'`.png

mv -f /home/htdocs/logs/`date -d '1 month 1 year ago' '+%Y%m'`.* /home/htdocs/logs/old