今天,要统计一个系统的每个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. 转:AFNetworking 与 UIKit+AFNetworking 详解

    资料来源 : http://github.ibireme.com/github/list/ios GitHub : 链接地址 简介 : A delightful iOS and OS X networ ...

  2. PHP控制连接打印机

    一.需求 使用PHP控制连接打印机 现场实时连续打印动态数据 二.配置 php运行环境正确安装(Apache|Nginx + PHP) 下载与php版本对应的php_printer.dll扩展 扩展文 ...

  3. POJ 3253 Fence Repair (优先队列)

    POJ 3253 Fence Repair (优先队列) Farmer John wants to repair a small length of the fence around the past ...

  4. shell的入门

    shell :弱类型. 解释型语言 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 ...

  5. 一个3D视频播放器的演示APK

    介绍: 这个APK是把视频显示分割成左右对等的两幅画面.同时无缝显示在屏幕上, 配合类似谷歌的cartdboard "纸片壳" 或市面上的魔镜等3D眼镜来播放视频画面, 根据3D眼 ...

  6. MessageBox.Show()时MessageBoxIcon的显示

    MessageBox.Show()方法,有个参数是MessageBoxIcon,这个是通过图标来表明提示信息的类型,比如一般.警告.错误等 MessageBoxIcon是一个枚举 所有成员如图: 示例 ...

  7. .netER的未来路,关于基础是否重要和应该自己手写代码吗?

    http://www.cnblogs.com/onepiece_wang/p/5558341.html#!comments 引用"基础知识的学习,一开始可能是背书,但是在后续若干年的工作过程 ...

  8. foreach 循环的应用传值

    $arr=array(1,5,8,8,9);foreach ($arr as $key => $value) { //这里可以一边改外面$arr的值一边下一步循环 $value=++$value ...

  9. 根据ClassName获取元素节点

    功能描述: 通过ClassName获取元素节点,并解决兼容性问题 实现效果: 编码思路: 利用getElementsByTagName选出所有元素,再根据ClassName条件进行筛选 代码示例:

  10. python基础---pymsql

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 一.下载安装 pip3 install pymysql 二.使用 1.执行SQL #!/usr/bin/env ...