今天,要统计一个系统的每个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
#将28/Jan/2015全天的访问日志放到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
#通过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
 
执行脚本:
 [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
 
转自

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

用shell统计访问日志里每个ip访问次数【转】的更多相关文章

  1. 统计nginx日志里流量

    用awk可以,比如,我想统计nginx日志里,今天下午3点0分,这一分钟内,访问的流量(文件的大小) grep "07/Nov/2013:15:00:"  *.log|awk '{ ...

  2. Python统计日志中每个IP出现次数

    介绍了Python统计日志中每个IP出现次数的方法,实例分析了Python基于正则表达式解析日志文件的相关技巧,需要的朋友可以参考下 本脚本可用于多种日志类型 #-*- coding:utf-8 -* ...

  3. Linux 如何设置只允许域名访问站点而禁止IP访问站点

    最近在论坛里看到有人问到 Linux 如何设置只允许域名访问站点而禁止IP访问站点的问题,之前自己也用过这个功能,可以防止别人用 IP 地址来访问到自己的网站,下面我就我自己的环境给出解决方法,我用的 ...

  4. XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 (转)

    XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 前几天安装了xampp for pc 1.7.4版本. 装好后在本地电脑通过https://localhost访问正常. 然后换了台电脑 ...

  5. 统计Apache或Nginx访问日志里的独立IP访问数量的Shell

    1.把IP数量直接输出显示: cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l 2.把IP数量输出到文本显示: cat acc ...

  6. (总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell

    1.把IP数量直接输出显示:cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l 2.把IP数量输出到文本显示:cat acces ...

  7. yabeblog.me 关于Tomcat7部署 一台机器部署两个项目,一个用域名访问,一个用IP访问

    该内容来自 http://www.yabeBlog.me,转载请说明出处. 1.使用IP访问的项目放在Tomcat7 的webapps目录下面:比如:AAA 2.使用域名访问的项目放在Tomcat7的 ...

  8. windows/linux VPS云服务器限制IP访问,限制别人的IP访问网站方法

    服务器VPS云服务器如何限制IP访问,限制别人的IP访问网站的方法 windows主机IIS限制IP访问方法:首先打开IIS点击“网站”,右键属性,(如果仅给单个网站设置,请选择下边的站点,点右键“属 ...

  9. WEB安全:Tomcat 只可通过域名访问,禁止通过 IP 访问

    服务器为什么要禁止通过IP直接访问? 1.若公布于外网的服务器IP地址未备案,就有可能被工信部查封.这样备案的域名也会无法访问. 2.如果AppScan通过ip访问扫描,会有“发现内部ip泄露模式”的 ...

随机推荐

  1. WWW 资源下载与表单提交

    在注册与验证用户信息,以及非即时通信的游戏中,我们可以使用WWW类使用短链接来完成客户端与服务器数据的通信,今天我们将使用用POST方法来完成的用户注册与登录,在最后介绍下其它资源的加载. 首先使用P ...

  2. Oracle 锁模式

    0:none  1:null 空  2:Row-S 行共享(RS):共享表锁  3:Row-X 行专用(RX):用于行的修改  4:Share 共享锁(S):阻止其他DML操作  5:S/Row-X ...

  3. php笔记(八)PHP类与对象之抽象类

    <?php //通过abstract关键字定义一个抽象类 abstract class ACanEat{ //通过abstract关键字定一个不用具体实现的抽象方法eat() abstract ...

  4. Design Pattern - Strategy

    Strategy Pattern:     The Strategy Pattern defines a family of algorithms,encapsulates each one,and ...

  5. 绝对路径&相对路径

    被绝对路径和相对路径搞疯了,好多地方不一样,从今天开始,记录下来每次关于这个问题的记录,以备查用 css文件里: 绝对路径:以"/"开头,表示从项目的根目录开始

  6. python 如何读取大文件

    一般的读取文件的方法: with open(file_path, "r") as f: print f.read() 或者 with open(file_path,"r& ...

  7. 6. Shell 流程控制

    1. 条件选择流程 1.1 if #!/bin/bash # if 格式 #if condition #then # command1 # command2 # ... # commandN #fi ...

  8. maven 阿里镜像

    <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>al ...

  9. __stack_chk_fail栈检查失败

    1. __stack_chk_fail的作用 在了函数的局部变量和保存的指令指针(译注:此处指返回地址和EBP)之间.这个值被称作金丝雀(“canary”)值 参考 http://www.freebu ...

  10. [code3119]高精度练习之大整数开根

    试题描述  给出一个正整数n,求n开根号后的整数部分的值.n的位数不超过1000位. 输入 读入一个不超过1000位的正整数n. 输出 输出所求答案 输入示例 17   输出示例 4 高精度开根:需要 ...