多主机多站点情景下AWStats日志分析(4)

来看脚本内容,脚本内注释应该已经比较详细了
cat awstats/shells/cp_logs_for_awstats.sh

#!/bin/sh log_dir_s=/data/nginx_log/backup #各台server日志文件源目录 log_dir_d=/data/nginx_log/log_analyze #定义将日志拉取到本地后的存放路径 time1=`date -d "1 day ago" +%F` #获取一天前的日期 time2=`date -d "2 day ago" +%F` basedir=/usr/local/services/awstats-7.4 echo -e "`date` 开始拉取日志\n" >$basedir/logs/cron.log for server_ip in `cat /root/shells/ips.txt` #记录需要统计日志的所有主机ip和主机名 do ip=`echo $server_ip|awk -F '-' '{print $2}'` #获取各server IP echo -e "\e[1;32m \n----------rsync logs from $ip----------\e[0m" >>$basedir/logs/cron.log #为了减少ssh连接,在此步将该ip下的所有前一天的access日志拷贝至本地/tmp下 rsync -avz --compress-level=6 --progress --exclude="default.*" --min-size=1k $ip:$log_dir_s/*access*"$time1" /tmp/ #取得上一天的日志备份文件名 log_name for log_name in `cd /tmp/;ls *.access.log*` do vhost_name=`echo $log_name|awk -F.access '{print $1}'` #取得web server的vhost名 echo -e "\e[1;32m -----拷贝$vhost_name日志-----\e[0m" >>$basedir/logs/cron.log #在本地建立目录分类存放cp过来的日志 if [ ! -d "$log_dir_d/$vhost_name" ];then mkdir $log_dir_d/$vhost_name fi rm -f $log_dir_d/$vhost_name/*"$time2"* mv /tmp/$log_name $log_dir_d/$vhost_name/$log_name.$ip #从tmp下依次mv日志文件到目标目录 done done echo -e "`date` 拉取日志完成\n" >>$basedir/logs/cron.log

上面的shell脚本只是将分散在各web server的日志文件按规则拉取到了本地特定目录,接下来的shell脚本用来调用awstats.pl循环处理各站点日志
cat awstats/shells/cron_awstats_update.sh

#!/bin/sh #awstats日志分析 basedir=/usr/local/services/awstats-7.4 cd $basedir #循环更新所有站点日志统计信息 echo -e "\e[1;31m-------`date "+%F %T"` 开始处理---------\n\e[0m" >>logs/cron.log for i in `ls result/` do echo -e "\e[1;32m -----`date "+%F %T"` 处理 $i 日志-----\e[0m" >>logs/cron.log perl wwwroot/cgi-bin/awstats.pl -config=etc/$i.conf -lang=cn -update &>>logs/cron.log done echo -e "\e[1;31m\n-------`date "+%F %T"` 处理完成---------\e[0m" >>logs/cron.log

这两个脚本作为计划任务在awstats server运行,我的crontab如下
#日志分析平台
5 0 * * * /bin/bash /root/shells/cp_logs_to_img2_for_awstats.sh ; /bin/bash /root/shells/cron_awstats_update.sh

至此,这么一套东西就算完成了。

写了这么多,希望我说清楚了。看到此处的伙伴,希望能对你们有些许帮助吧!

AWStats配置 (Windows + Apache )

CentOS 6.3下AWStats+GeoIP实现查看网站访问归属地

Nginx 日志分析 AWStats + JAWStats 安装配置

经典日志分析工具-AWStats

AWStats日志系统配置文件和错误归纳

使用AWStats分析网站日志-强大的日志分析工具

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6f44930818a58de7f608bf43f134052b.html