突然想安装一个awstats了,参考 车东 的文章,安装了一个。可是发现一个问题,设置了logfile为 access_log.%YYYY-24%MM-24%DD-24.log 之后,发现只能把昨天的日志统计进来,可是我的log下面还有好多呢,想统计以前的,怎么弄呢?幸好,awstats已经考虑到这个问题了。
awstats.pl 脚本支持在命令行指定logfile,这样简单了,改变这个参数就可以了。不过要注意的是,如果你的data里面已经处理新的日志,那么指定logfile也没用了,以前的没办法更新进来了。只能是删掉data里面的内容,然后重新从最早的开始生成一遍。我写了一个脚本来做这个事情。

awstats_dir=/opt/tt2/awstats/wwwroot/cgi-bin
logfile_dir="/usr/local/apache/logs/"

cd $awstats_dir

for file in `find $logfile_dir -name "access_log.2*" | sort`;do
        #echo "$file"
        ./awstats.pl -update -config=wd -LogFile=$file
done
保存为 awstats.sh ,然后执行就可以了。他会查找 logfile_dir 下面所有的 access_log.2 开头的文件,作为参数来更新记录。