一、日志拆分

1、配置apache使用cronolog: 由于实验用的apache开启了虚拟主机功能,所以以下配置都在虚拟主机中进行,这样也是为了方便对多站点的分析操作。 vim /etc/httpd/conf.d/vhosts.conf 将配置文件中的CustomLog和ErrorLog替换为下面的(由于我们要对多站点,所以这里要替换两个虚拟主机的,并且将日志存放名字做有效的区分才好)

www.test.com
CustomLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_%Y%m%d" combined
ErrorLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_error_%Y%m%d"
www.test2.com
CustomLog "|/usr/local/sbin/cronolog logs/www.test2.com_access_log_access_%Y%m%d.log" combined
ErrorLog "|/usr/local/sbin/cronolog logs/www.test2.com_error_%Y%m%d.log"

注意:这里一定要注意对两个网站的日志名称配置

2、使用logrotate对apache进行日志拆分:

/var/log/httpd/*log {
    daily
    dateext
    copytruncate
    rotate 60
    missingok
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

二、awstats配置及生成:

1、LogFile="/var/log/httpd/www.test.com_access_log-%YYYY-0%MM-0%DD-0"

     LogFile="/var/log/httpd/www.test2.com_access_log-%YYYY-0%MM-0%DD-0"

对最新的数据进行分析

2、执行命令:

/usr/local/awstats/tools/awstats_updateall.pl now

3、生成静态文件


/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl

4、针对多域名进行脚本crontab执行

#!/bin/sh

/usr/local/awstats/tools/awstats_updateall.pl now
domain_name="access.mopote.com mopote.com"
for name in $domain_name
do
    /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
done

   crontab添加:


         0 9 * * * (time /usr/local/awstats/awstats_cron.sh)  &> /usr/local/awstats/logs/
awstats.log

页面访问:

    http://localhost/awstats/awstats.pl?config=mopote.com