前面我们说了shell分析日志常用指令,现在我们随ytkah一起看看shell日志分析进阶篇,假设日志文件为ytkah.log

//统计不重复抓取数量

cat ytkah.log | awk '{print $4}'|sort|uniq|wc -l

//统计所有状态码数量

awk '{print $10}' ytkah.log |sort|uniq -c

  

//统计某个目录抓取次数

grep "/shop" ytkah.log | awk '{print $4}' |sort |wc –l

  

//统计各个目录出现404响应码次数

cat ytkah.log |awk 'BEGIN{FS="/| "} {if($(NF-2)==404){print $5,$(NF-2)}}' |sort|uniq -c | sort -r

  

//统计404页面的抓取数量

awk '{if($10=="404"){print $0}}' ytkah.log|sort|uniq|wc -l

  

//统计每个ip下对应URL的抓取次数

awk '{print $6,$4}' ytkah.log |sort|uniq –c

  

//提取百度蜘蛛访问数量前10的网站目录及访问次数,并按降序排列

awk '{print $4}' ytkah.log |grep -P "[^/(a-zA-Z)|^/(a-zA-Z)/]"|awk -F"/" '{print $2}'|sort|uniq -c|sort -r|head -10

  

//提取某个目录百度蛛蛛访问次数

cat ytkah.log | grep "/shop/"| wc –l
cat ytkah.log |awk '{print $4}' |grep "/shop/" |wc –l
cat ytkah.log |awk '{print $4} |awk –F"/" '{print $2}'|grep "shop"|wc -l

  

//统计首页抓取的次数占总体抓取次数比率

cat ytkah.log |awk '{print $4}'|awk '{if($0=="/"){n=n+1}}END{print n/NR*100"%"}'

  

//统计404响应码占总响应码比率

cat ytkah.log |awk '{print $10}'|awk '{if($0=="404"){n=n+1}}END{print n/NR*100"%"}'

  

//计算百度抓取总时间与总抓取次数

cat ytkah.log|awk '{FS=" "} {print $2}'|awk -F":" '{print $2}'| sort |uniq -c|awk 'BEGIN{print "小时","次数"} {print $2,$1}'|awk '{for(n=0;n<5;n++){b=$2}} {a+=b} {print $0}END{print "总数"b,a}'

  

//计算百度抓取总字节数

cat ytkah.log |awk '{print $11}'|awk 'BEGIN{total=0}{total+=$1}END{print total}'

  

//计算平均每次每个网页抓取字节数(小数点后面大于5进1)

cat ytkah.log |awk '{print $11}'|awk 'BEGIN{total=0}{total+=$1}END{print total/NR}'

  

shell日志分析进阶篇的更多相关文章

  1. (转载)shell日志分析常用命令

    shell日志分析常用命令总结 时间:2016-03-09 15:55:29来源:网络 导读:shell日志分析的常用命令,用于日志分析的shell脚本,统计日志中百度蜘蛛的抓取量.抓取最多的页面.抓 ...

  2. linux性能指令分析进阶篇

    作为刚刚走入测试领域的我来说,对性能测试了解的也不是很深,只不过自己平常一直在收集资料,性能测试也没有那么神秘,也请广大测试小白不要陷入误区,其实性能测试跟功能测试关系并不大,即使你做10年功能测试, ...

  3. MySQL二进制日志分析-概述篇

    MySQL从3.23版本开始引入了二进制日志,用于的数据复制, 二进制日志根据MySQL的版本不同,目前有4个版本: https://dev.mysql.com/doc/internals/en/bi ...

  4. 有关linux日志分析的详细介绍

    linux的日志文件可以帮助我们了解系统所处的状态,比如查出哪些用户有登入,及其它安全相关的一些问题. linux下的日志分析. 以下内容,部分参考了:探讨 linux 日志分析 这篇文章. 1.了解 ...

  5. 一、基于hadoop的nginx访问日志分析---解析日志篇

    前一阵子,搭建了ELK日志分析平台,用着挺爽的,再也不用给开发拉各种日志,节省了很多时间. 这篇博文是介绍用python代码实现日志分析的,用MRJob实现hadoop上的mapreduce,可以直接 ...

  6. shell 在手分析服务器日志【转】

    自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! awk '{print $1 ...

  7. mysql 开发进阶篇系列 41 mysql日志之慢查询日志

    一.概述 慢查询日志记录了所有的超过sql语句( 超时参数long_query_time单位 秒),获得表锁定的时间不算作执行时间.慢日志默认写入到参数datadir(数据目录)指定的路径下.默认文件 ...

  8. 【转】Shell编程进阶篇(完结)

    [转]Shell编程进阶篇(完结) 1.1 for循环语句 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最 ...

  9. shell脚本分析nginx日志

    shell脚本分析nginx日志: name=`awk -F ',' '{print $13":"$32}' $file | awk -F ':' '{print $4}'`ech ...

随机推荐

  1. Python 函数(参数组合)

    在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数 定义一 ...

  2. Python默认参数的坑

    默认参数的坑 定义一个函数,传入一个list,添加一个end再返回 def add_end(L=[]): L.append('END') return L 正常调用时,结果似乎不错 print add ...

  3. vector的多套遍历方案

    1.迭代器 begin,end,*it++ 2.下标法 3.at函数(GetAt) 4.指针法 指针移到头部rewind.

  4. QT下载区

    http://download.qt.io/archive/qt/ 下载总网址: http://download.qt.io/ http://mirrors.hust.edu.cn/qtproject ...

  5. Qt编写自定义控件1-汽车仪表盘

    前言 汽车仪表盘几乎是qt写仪表盘控件中最常见的,一般来说先要求美工做好设计图,然后设计效果图给到程序员,由程序员根据效果来实现,主要靠贴图,这种方法有个好处就是做出来的效果比较逼真,和真实效果图基本 ...

  6. 10.21CRM项目(01)

    2018-10-21 13:35:19 crm第一天!放上初始源码! 后面等做完最后一天的手放上所有源码! 越努力越幸运!永远不要高估自己! 注意 多层for循环的时候,切记,不要名字重复!啦!!!! ...

  7. 7.13python多进程

    所以引入了     多进程*(异步) 处理效率高 #!/usr/bin/env python #!--*--coding:utf-8 --*-- #!@Time :2018/7/13 19:26 #! ...

  8. 录制用户的音频,视屏 navigator.mediaDevices.getUserMedia

    google 文档 HACKS 文档 相关代码 获取本地的音频 <input type="file" accept="audio/*" capture=& ...

  9. 栈的C语言实现

    在C++中,可以直接使用std::stack C语言实现如下: stack.c /** * @file stack.c * @brief 栈,顺序存储. * * * */ #include <s ...

  10. tomcat的缺少tcnative-1.dll的解决(申明:来源于网络)

    tomcat的缺少tcnative-1.dll的解决 地址:http://blog.csdn.net/topwqp/article/details/7713388