此代码为自用log一键分析日志脚本,使用工具为Cygwin,各位可参照修改其中参数。
使用方法很简单:直接复制到Cygwin,回车执行,总体运行效率还是可以的,各个要素都有数据文件输出。
———一键代码 日志拆分by simon ——
更新日志:
3月18日:添加排除特征库代码(考虑到某些日志文件里会有很多干扰数据的原因)
1月5日:建立版本V1.0
—日志先清理##字符串,全部替换为空,用sed替换掉,代码如下
cat *>rz.log
sed -e ‘s/##/ /g;s/ 115.238.101.227//g;s/ 112.25.11.14,//g’ rz.log >rzql.log
[说明]:-e代表多个规则,s/X1/X2/g中为语法,X1为替换前字符串,X2为替换后,多个规则用;代替。
[我的log标准日志格式为,可自定义]:
123.125.71.77 – – [25/Dec/2013:00:01:17 +0800] “GET /URL HTTP/1.0” /database/webroot/showthread.php 200 11057 “-” “Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)” 172.17.1.101
特征库:(排除监控代码、局域网IP、服务器IP等)
– – – \[(.*?).*
.*jiance.php .*
42.121.107.149
112.25.11.14,
115.238.101.227
101.226.4.1.,
123.126.50.183,
123.151.42.48
172.17.1… #服务器局域网的IP范围匹配#
—————————开始———————————————
cat * | grep Baiduspider/ | sed -e 's/ 42.121.107.149//g;s/##/ /g;'>baidu.log cat * | grep Googlebot/ | sed -e 's/ 42.121.107.149//g;s/##/ /g;'>google.log export LC_ALL=C mkdir baidu awk '{print $10}' baidu.log |sort|uniq -c|sort -nr |awk '{print $2 "\t" $1}' >baidu/baiduma.log awk '($10 ~/200/)' baidu.log | awk '{print $10,$7}' | sort >baidu/baidu200.log awk '($10 ~/404/)' baidu.log | awk '{print $10,$7}' | sort >baidu/baidu404.log awk '($10 ~/301/)' baidu.log | awk '{print $10,$7}' | sort >baidu/baidu301.log awk '($10 ~/302/)' baidu.log | awk '{print $10,$7}' | sort >baidu/baidu302.log awk '($10 ~/500/)' baidu.log | awk '{print $10,$7}' | sort >baidu/baidu500.log awk '($10 ~/503/)' baidu.log | awk '{print $10,$7}' | sort >baidu/baidu503.log awk '($10 ~/504/)' baidu.log | awk '{print $10,$7}' | sort >baidu/baidu504.log grep ' 200 ' baidu.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 100 >baidu/baidu200n.log awk '{print $7}' baidu.log | awk -F '[^/(a-zA-Z)/$]' '$1=$1' | awk '{print $1}' |sort|uniq -c|sort -nr|head -100 >baidu/baidumulu.log cat baidu.log | grep Baiduspider/ |awk '{print $7}'|sort |uniq -c >baidu/baiduspiderurl.txt mkdir google awk '{print $10}' google.log |sort|uniq -c|sort -nr |awk '{print $2 "\t" $1}' >google/googlema.log awk '($10 ~/200/)' google.log | awk '{print $10,$7}' | sort >google/google200.log awk '($10 ~/404/)' google.log | awk '{print $10,$7}' | sort >google/google404.log awk '($10 ~/301/)' google.log | awk '{print $10,$7}' | sort >google/google301.log awk '($10 ~/302/)' google.log | awk '{print $10,$7}' | sort >google/google302.log awk '($10 ~/500/)' google.log | awk '{print $10,$7}' | sort >google/google500.log awk '($10 ~/503/)' google.log | awk '{print $10,$7}' | sort >google/google503.log awk '($10 ~/504/)' google.log | awk '{print $10,$7}' | sort >google/google504.log grep ' 200 ' google.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 100 >google/google200n.log awk '{print $7}' google.log | awk -F '[^/(a-zA-Z)/$]' '$1=$1' | awk '{print $1}' |sort|uniq -c|sort -nr|head -100 >google/googlemulu.log cat google.log | grep Googlebot/ |awk '{print $7}'|sort |uniq -c >google/googlespiderurl.txt mkdir perhour cd perhour mkdir baidu mkdir google cd ../ for((i=0;i<=23;i++)) do if((i<10)) then grep -c '13:0'$i:..:.. baidu.log >perhour/baidu/$i.txt grep -c '13:0'$i:..:.. google.log >perhour/google/$i.txt else grep -c '13:'$i:..:.. baidu.log >perhour/baidu/$i.txt grep -c '13:'$i:..:.. google.log >perhour/google/$i.txt fi done cat perhour/baidu/* >baidu/bdhuizong.log cat perhour/google/* >google/gghuizong.log rm -r perhour
———————结束——————————
文件说明:
rzql.log为日志清理后文件
baiduma.log 百度抓取状态码
googlema.log 谷歌抓取状态码
baidu404.log 百度404
baidu200n.log 提取百度蜘蛛访问码为200的前100个页面及访问次数,并按降序排列
baidumulu.log 提取百度蜘蛛访问数量前100的网站目录及访问次数,并按降序排列
baiduspiderurl.txt 把蜘蛛抓取的不重复URL导出来
bdhuizong.log 为百度分时段统计抓取量
gghuizong.log 为google分时段统计抓取量
其它依次类推。。。
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
- 原文网址: https://sunweiwei.com/889/
- 最后修改时间: 2013年12月23日 15:18:42
23 3 月, 2013 at 上午 8:18
哈 过来看看 有没有更新好的文章!
23 3 月, 2013 at 下午 3:07
出大事了,因为我又看不懂这群代码了。
27 3 月, 2013 at 下午 4:15
非常不错的博客·
29 3 月, 2013 at 下午 2:52
那么复杂,呵
30 3 月, 2013 at 上午 9:15
过来看看有没有更新~
1 4 月, 2013 at 下午 4:44
过来打下酱油~文章更新慢了点吧
23 12 月, 2013 at 下午 2:03
我也写了,你这个还有很大的提升空间,
23 12 月, 2013 at 下午 3:20
亲,可以分享一下哦
20 10 月, 2015 at 下午 4:55
这个整理得好清晰啊 不过有些看得不太懂哦