统计html页面访问次数脚本

回复 收藏
我的教程http://www.lishiming.net/study/下,有诸多htm页面,为了统计他们的访问量,写了个笨笨的脚本。发出来给大家共享下。
index 其实是list.htm 这个得特殊处理。请看脚本吧
  1. #! /bin/bash
  2. ## for get the access numbers of the pages ##
  3. based="/data/www/mylinux"
  4. accf="/logs/access.log"
  5. d1=`date +%M`
  6. d2=`date -d "-1min" +%M`
  7. n1=`grep -n "$d2:00" $accf|head -n1|awk -F':' '{print $1}'`
  8. n2=`wc -l $accf|awk '{print $1}'`
  9. sed -n "$n1,$n2"p $accf >/tmp/mylinux.log
  10. function get_count(){
  11.     w=`echo $1`
  12.     if [ $w == "list.htm" ]; then
  13.         num1=`awk '{print $6}' /tmp/mylinux.log |grep "study/"|grep -v "htm"|wc -l`
  14.     else
  15.         num1=`awk '{print $6}' /tmp/mylinux.log |grep "study/$w"|wc -l`
  16.     fi
  17.     num2=`grep "page accessed" $based/$1 |awk -F "accessed" '{print $2}'|awk -F "times" '{print $1}'|sed 's/ //g'`
  18.     num3=$(($num1+$num2))
  19.     sed -i "s/$num2/$num3/" $1
  20. }
  21. cd $based
  22. for f  in `ls *.htm`; do
  23.     get_count $f
  24. done
这脚本每隔1分钟处理一下访问日志。所以统计到的数据也不算时时,只能1分钟更新一次。
2012-02-23 16:58 举报
已邀请:
0

lyhabc

赞同来自:

干嘛加个function 多此一举呢

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: