Skip to content

Visitors script

I was searching the Ubuntu repository one afternoon for a way to analyze my web server logs. I ran across a tool called visitors. Sounded simple, so I gave it a try. 5 minutes later, it had analyzed my logs and created a graph for me--an impressive start. But I wanted to change the options and run it automatically each day, so I created a script and dropped it into /etc/cron.daily. Unfortunately, that didn't give me much history because my apache logs are rotated weekly. So I devised a script to concat my log history files and have the visitors tool read that instead of the active file. The result is a graph and a report that spans a much longer time period.

This is an example of what the graph loos like on another site I run:

visitors graph} And here's the script that makes it happen:

#! /bin/sh

tempdir=/tmp/visitors
apachedir=/var/log/apache2

mkdir $tempdir
cp $apachedir/access* $tempdir
cd $tempdir
gzip -d *.gz
cat * > all.log

visitors -A -m 30 $tempdir/all.log --trails --prefix http://your.domain.com > /var/www/stats/report.html
visitors -V $tempdir/all.log --prefix http://your.domain.com > /var/www/stats/graph.dot
visitors -V $tempdir/all.log --prefix http://your.otherdomain.com --prefix YourInternalHostName > /var/www/stats/graph2.dot
dot /var/www/stats/graph.dot -Tpng > /var/www/stats/graph.png
dot /var/www/stats/graph2.dot -Tpng > /var/www/stats/graph2.png
cd ..
rm -rf $tempdir