webalizer是一个WEB LOG的统计分析软件。
在UBUNTU FEISTY上安装倒比较简单:
sudo aptitude install webalizer
但是目前的webalizer对中文支持不好,主要是因为GD的原因,因此也可以参考上文进行处理,网上也有针对此的patch,不想折腾。
然后就要创建一系列的针对虚拟主机的配置文件,主要是指定hostname和logfile。
然后,在使用webalizer之前已经有相当多的LOG,也可以使用webalizer一起来统计,这时候就需要用到mergelog命令来进行LOG的合并,首先安装mergelog:
sudo aptitude install mergelog
然后解压缩原来的LOG并进行合并,最好是在拷贝到另外一个目录操作,这样就不会影响到现有的LOG。
mkdir /tmp/log001
cp /var/log/apache2/westdc.geodata.cn-access.log.* /tmp/log001/
cd /tmp/log001/
gunzip *.gz
mergelog westdc.geodata.cn-access.log.* > westdc.log
webalizer -c /etc/webalizer/westdc.geodata.cn.conf westdc.log
rm -fdr /tmp/log001
为了方便,我作成了一个sh文件,参数名称为域名,当然准备工作要先做好:
#!/bin/sh
mkdir /tmp/log001
cp /var/log/apache2/$1-access.log.* /tmp/log001/
cd /tmp/log001/
gunzip *.gz
mergelog $1-access.log.* > $1.log
webalizer -c /etc/webalizer/$1.conf $1.log
rm -fdr /tmp/log001
注意,上面的操作需要用root身份来操作。
之后,就可以正常在cron里执行每天的对应操作:
for i in /etc/webalizer/*.conf; do webalizer -c $i; done
发表回复