ITSEO学员老狼投稿文章首发,转载请注明出处!




锄禾日当午,日志分析为何非要费时一上午呢………………..

一、开篇要说的话

为何要日志分析昆哥说了:“首先要知道数据做什么用,怎么用,分析的意义在哪里!但是本身这个只是指导你工作决策的,不能太执迷! 我看很多人把大量时间都在折腾蜘蛛去了,也是不正确的方法!自己一定要搞清目的。。。。。“

夜息说了:“日志分析关注的点要了解,要了解哪些维度,如何分析。。。。。“

二、本文正题

这里我就整理了下,本人经常拆份的一些项。Shell在Cygwin里跑的一些常用命令符语句,我用的是Windows下Cygwin……大牛的就就漂过。。。。

【新手哈 有哪错的 望指点 学习,】

现在把罗列下这些项:

//统计不重复抓取数量

//统计所有状态码数量

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

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

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

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

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

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

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

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

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

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

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

底下都举一个例子,大家就自己套用。。 欢迎评论提问,吐槽。。。指正。。。

下面我们就进入演示。。。。请大家盯紧了。。

这是我日志截图:


用shell进行log分析--老狼_SEO



//统计不重复抓取数量

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

用shell进行log分析--老狼_SEO  _02


//统计所有状态码数量

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

用shell进行log分析--老狼_SEO  _03




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

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

用shell进行log分析--老狼_SEO  _04




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

用shell进行log分析--老狼_SEO  _05



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

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

用shell进行log分析--老狼_SEO  _06



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

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

用shell进行log分析--老狼_SEO  _07



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

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

用shell进行log分析--老狼_SEO  _08



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

cat baidu.log | grep “/shop/”| wc –l

cat baidu.log |awk ‘{print $4}’ |grep “/shop/” |wc –l

cat baidu.log |awk ‘{print $4} |awk –F”/” ‘{print $2}’|grep “shop”|wc -l

用shell进行log分析--老狼_SEO  _09



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

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

用shell进行log分析--老狼_SEO  _10



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

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

用shell进行log分析--老狼_SEO  _11



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

cat baidu.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}’



用shell进行log分析--老狼_SEO  _12



/计算百度抓取总字节数

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

用shell进行log分析--老狼_SEO  _13



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

用shell进行log分析--老狼_SEO  _14




看完了,没错,就是到这边,你没看错,你很认真。。。。。。。。。

 在此感谢ITSEO×××们,老狼在此学到了不少东西。。。。