#!/bin/bash
#write by zhenglong 20150730

#Centos
# http sataistics
 log_path1=/usr/local/apache/logs/access_log
 domain="www.xx.com"
 email="1525356778@qq.com"
 maketime=`date +%d/%b/%Y`
 logdate=`date -d "yesterday" +%Y-%m-%d`
 cat $log_path1|grep $maketime > /usr/local/apache/logs/tmp.log
 log_path=/usr/local/apache/logs/tmp.log

 total_visit=`wc -l ${log_path} | awk '{print $1}'`
 total_bandwidth=`awk -v total=0 '{total+=$10}END{print total/1024/1024}' ${log_path}`
 total_unique=`awk '{ip[$1]++}END{print asort(ip)}' ${log_path}`
 ip_pv=`awk '{ip[$1]++}END{for (k in ip){print ip[k],k}}' ${log_path} | sort -rn | head -20`
 url_num=`awk '{url[$7]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
 referer=`awk -v domain=$domain '$11 !~ /http:\/\/[^/]*'"$domain"'/{url[$11]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
 notfound=`awk '$9 == 404 {url[$7]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
 spider=`awk -F'"' '$6 ~ /Baiduspider/ {spider["baiduspider"]++} $6 ~ /Googlebot/ {spider["googlebot"]++}END{for (k in spider){print k,spider[k]}}'  ${log_path}`
 search=`awk -F'"' '$4 ~ /http:\/\/www\.baidu\.com/ {search["baidu_search"]++} $4 ~ /http:\/\/www\.google\.com/ {search["google_search"]++}END{for (k in search){print k,search[k]}}' ${log_path}`
 echo -e "Overview\nReport generation time:'${maketime}'\ntotal visits'${total_visit}'\ntotal bandwidth'${total_bandwidth}'M\nUV${total_unique}\n\nIP access statistics\n${ip_pv}\n\nURL access statistics\n${url_num}\n\nSource page statistics\n${referer}\n\n404statistics\n${notfound}\n\nThe spider statistics\n${spider}\n\nSearch engine source statistics\n${search}" |mail -s"$domain $logdate log statistics" ${email}