今天,要統計一個系統的每個ip訪問次數,於是我找到該系統訪問日志,並寫腳本實現。
訪問日志情況:
[root@qular ~]# cd /usr/local/nginx/logs/
[root@qunlar logs]# head access.log
59.151.44.186 - - [15/Dec/2014:20:19:11 +0800] "POST http://ebws.travelsky.com/etcwip/services/CWIPService HTTP/1.0" 200 22584 "-" "Axis/1.4"
211.151.239.46 - - [15/Dec/2014:20:19:12 +0800] "POST http://ebws.travelsky.com/etcwip/services/CWIPService HTTP/1.1" 200 26994 "-" "Axis/1.4"
211.151.239.46 - - [15/Dec/2014:20:19:12 +0800] "POST http://ebws.travelsky.com/etcwip/services/CWIPService HTTP/1.1" 200 27910 "-" "Axis/1.4"
這樣的日志還有很多......
開始寫腳本:
[root@qunar logs]# cat a.sh
#!/bin/bash
#!/bin/bash
#將28/Jan/2015全天的訪問日志放到a.txt文本
cat access.log |sed -rn '/28\/Jan\/2015/p' > a.txt
cat access.log |sed -rn '/28\/Jan\/2015/p' > a.txt
#統計a.txt里面有多少個ip訪問
cat a.txt |awk '{print $1}'|sort |uniq > ipnum.txt
cat a.txt |awk '{print $1}'|sort |uniq > ipnum.txt
#通過shell統計每個ip訪問次數
for i in `cat ipnum.txt`
do
iptj=`cat access.log |grep $i | grep -v 400 |wc -l`
echo "ip地址"$i"在2015-01-28日全天(24小時)累計成功請求"$iptj"次,平均每分鍾請求次數為:"$(($iptj/1440)) >> result.txt
done
for i in `cat ipnum.txt`
do
iptj=`cat access.log |grep $i | grep -v 400 |wc -l`
echo "ip地址"$i"在2015-01-28日全天(24小時)累計成功請求"$iptj"次,平均每分鍾請求次數為:"$(($iptj/1440)) >> result.txt
done
執行腳本:
[root@qunar logs]#sh a.sh
查看結果:
[root@qular logs]# cat result.txt
ip地址10.72.14.49在2015-01-28日全天(24小時)累計成功請求0次,平均每分鍾請求次數為:0
ip地址10.72.32.136在2015-01-28日全天(24小時)累計成功請求0次,平均每分鍾請求次數為:0
ip地址211.151.239.39在2015-01-28日全天(24小時)累計成功請求6409763次,平均每分鍾請求次數為:4451
ip地址211.151.239.41在2015-01-28日全天(24小時)累計成功請求6412232次,平均每分鍾請求次數為:4452
ip地址211.151.239.42在2015-01-28日全天(24小時)累計成功請求7440次,平均每分鍾請求次數為:5
ip地址211.151.239.44在2015-01-28日全天(24小時)累計成功請求7494次,平均每分鍾請求次數為:5
ip地址211.151.239.45在2015-01-28日全天(24小時)累計成功請求7533次,平均每分鍾請求次數為:5
ip地址211.151.239.46在2015-01-28日全天(24小時)累計成功請求6413230次,平均每分鍾請求次數為:4453
ip地址211.151.239.51在2015-01-28日全天(24小時)累計成功請求7596次,平均每分鍾請求次數為:5
ip地址59.151.44.181在2015-01-28日全天(24小時)累計成功請求1410次,平均每分鍾請求次數為:0
ip地址59.151.44.182在2015-01-28日全天(24小時)累計成功請求696387次,平均每分鍾請求次數為:483
ip地址59.151.44.183在2015-01-28日全天(24小時)累計成功請求54次,平均每分鍾請求次數為:0
ip地址59.151.44.184在2015-01-28日全天(24小時)累計成功請求809次,平均每分鍾請求次數為:0
ip地址59.151.44.185在2015-01-28日全天(24小時)累計成功請求38次,平均每分鍾請求次數為:0
ip地址10.72.14.49在2015-01-28日全天(24小時)累計成功請求0次,平均每分鍾請求次數為:0
ip地址10.72.32.136在2015-01-28日全天(24小時)累計成功請求0次,平均每分鍾請求次數為:0
ip地址211.151.239.39在2015-01-28日全天(24小時)累計成功請求6409763次,平均每分鍾請求次數為:4451
ip地址211.151.239.41在2015-01-28日全天(24小時)累計成功請求6412232次,平均每分鍾請求次數為:4452
ip地址211.151.239.42在2015-01-28日全天(24小時)累計成功請求7440次,平均每分鍾請求次數為:5
ip地址211.151.239.44在2015-01-28日全天(24小時)累計成功請求7494次,平均每分鍾請求次數為:5
ip地址211.151.239.45在2015-01-28日全天(24小時)累計成功請求7533次,平均每分鍾請求次數為:5
ip地址211.151.239.46在2015-01-28日全天(24小時)累計成功請求6413230次,平均每分鍾請求次數為:4453
ip地址211.151.239.51在2015-01-28日全天(24小時)累計成功請求7596次,平均每分鍾請求次數為:5
ip地址59.151.44.181在2015-01-28日全天(24小時)累計成功請求1410次,平均每分鍾請求次數為:0
ip地址59.151.44.182在2015-01-28日全天(24小時)累計成功請求696387次,平均每分鍾請求次數為:483
ip地址59.151.44.183在2015-01-28日全天(24小時)累計成功請求54次,平均每分鍾請求次數為:0
ip地址59.151.44.184在2015-01-28日全天(24小時)累計成功請求809次,平均每分鍾請求次數為:0
ip地址59.151.44.185在2015-01-28日全天(24小時)累計成功請求38次,平均每分鍾請求次數為:0
轉自
用shell統計訪問日志里每個ip訪問次數_小強_新浪博客
http://blog.sina.com.cn/s/blog_8e5d24890102wufq.html