用shell统计访问日志里每个ip访问次数

用shell统计访问日志里每个ip访问次数【转】

今天,要统计一个系统的每个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@qunarlogs]#cata.sh
#!/bin/bash

#将28/Jan/2015全天的访问日志放到a.txt文本
cataccess.log|sed-rn'/28\/Jan\/2015/p'>a.txt

#统计a.txt里面有多少个ip访问
cata.txt|awk'{print$1}'|sort|uniq>ipnum.txt

#通过shell统计每个ip访问次数
foriin`catipnum.txt`
do
iptj=`cataccess.log|grep$i|grep-v400|wc-l`
echo"ip地址"$i"在2015-01-28日全天(24小时)累计成功请求"$iptj"次,平均每分钟请求次数为:"$(($iptj/1440))>>result.txt
done

执行脚本:

[root@qunarlogs]#sh a.sh

查看结果:

[root@qularlogs]#catresult.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

转自

用shell统计访问日志里每个ip访问次数_小强_新浪博客http://blog.sina.com.cn/s/blog_8e5d24890102wufq.html

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...