加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

shell进行SEO日志解析

发布时间:2022-01-16 05:35:27 所属栏目:优化 来源:互联网
导读:widows下搭建unix环境,能够在windows下处理基本的shell指令,实现对网站日志灵活细分的需求,获取相对精准的SEO数据。 使用Cygwin实现shell处理环境,Cygwin下载地址:http://www.cygwin.cn/site/install/ Cygwin安装视频过程,参阅http://www.itseo.net/
  widows下搭建unix环境,能够在windows下处理基本的shell指令,实现对网站日志灵活细分的需求,获取相对精准的SEO数据。
 
  使用Cygwin实现shell处理环境,Cygwin下载地址:http://www.cygwin.cn/site/install/
 
  Cygwin安装视频过程,参阅http://www.itseo.net/freevideo/show-113.html,仅需安装满足SEO需求的项目即可,全部安装耗费时间很长(下了8G还在跑,)。安装包参考如下:
 
  curl、lynx、python、base、shells
 
  扩展阅读:cygwin安装、windows下安装cygwin及配置
 
  shell基本指令(实现光年日志拆分功能)
 
  shell指令参考:http://www.linuxso.com/command/
 
  cd确定网站日志所在文件夹
 
  cd /cygdrive/d/weblog/
 
  ls显示当前文件夹中的所有文件
 
  cat打开文件&连接文件
 
  cat bj.log
 
  grep提取文件的数据
 
  grep Baiduspider bj.log >bj_baidu.log
 
  grep命令参数:http://blog.chinaunix.net/uid-20544356-id-132341.html
 
  常用grep参数:
 
  -i 忽略大小写
 
  -l 只显示匹配到的文件名
 
  -n 显示行号
 
  -o 只显示匹配的字符
 
  -r 递归查询
 
  -v 只显示不匹配的行
 
  awk分割数据
 
  awk ‘{print $8,$12}’ bj_baidu.log >bj_baidu_url.log
 
  awk ‘{if($10~”404″)print $8,$12}’ bj_baidu.log >bj_baidu_404.log
 
  awk命令学习参考:
 
  http://www.cnblogs.com/chengmo/archive/2013/01/17/2865479.html
 
  http://blog.csdn.net/jihen/article/details/5957304
 
  sort排序
 
  参考:sort命令参数及其用法详解
 
  uniq数据汇总
 
  shell组合:
 
  1.提取百度蛛蛛访问产生的所有状态码和数量,并按降序排列
 
  awk ‘{print $10}’ baidu.log |sort|uniq -c|sort -nr |awk ‘{print $2 “/t” $1}’ >baiduma.log
 
  2.提取所有404、301、302等非正常状态码的页面并按降序排列
 
  awk ‘{if($10~”404″)print $8,$10}’ baidu.log|sort >baiduma.log
 
  3.返回状态码为”X”最多的前TOP10二级目录
 
  cat baidu.log|awk ‘{if($10~”404″)print $8,$6}’ |awk -F”//” ‘{print $2}’|sort|uniq -c|sort -nr|head -n10
 
  4.计算abc目录在返回状态为“X”时被百度抓取多少次
 
  cat baidu.log|awk ‘{if($10~”404″)print $8,$6}’ |awk -F”//” ‘{if($2~”zufang”)print $0}’|wc -l
 
  5.判断状态码为“X”时abc目录的层级为多少
 
  cat baidu.log|awk ‘{if($10~”404″)print $8,$6}’ |awk -F”//” ‘{if($2~”zufang”&&$3 == “”)print $0}’|wc -l
 
  6.提取返回出错目录的层级前500条,并降序排列
 
  cat baidu.log |awk ‘{if($810~ “404″)print $8,$6}’|awk -F”//” ‘{if($2~”zufang” && $4)print $0}’|sort|head -n500
 
  7.统计URL抓取次数,并降序排列
 
  cat baidu.log|awk ‘{print $8}’|sort|uniq -c|sort -nr >paixu.log
 
  8.有多少IP访问
 
  awk ‘{print $1}’ baidu.log|sort|uniq|wc l
 
  9.查看某页面访问次数
 
  grep “/abc/” baidu.log|wc -l
 
  10.每个IP访问次数
 
  cat baidu.log | awk ‘{print $1}’ | sort | uniq -c | sort -k1r
 
  11.某IP访问的页面
 
  grep ‘***.***.***.***’ baidu.log|awk ‘{print $1,$8}’
 
  12.查看所有页面的访问次数,降序排列
 
  cat baidu.log|awk ‘{print $8}’|sort|uniq -c|sort -nr
 
  13.查看记录个数
 
  awk ‘END{print NR}’ baidu.log
  

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读