grep 分析日志

grep是一个很强大的命令。这里我们主要来讲使用grep命令来分析网站日志的方法和技巧。

1、合并网站日志

使用ls查看下待合并的日志

合并网站日志

  1. cat *.log >example.log #合并后缀名为log的日志文件,你也可以合并指定的日志

2.拆分我们想要的日志文件

比如拆分百度蜘蛛的日志文件

  1. grep "Baiduspider+" example.log >baiduspider.txt




比如拆分404错误日志

  1. grep "404" example.log >404.txt

还可以同时拆分百度和谷歌的蜘蛛。

这里我们使用的是egrep来实现这一功能。

  1. egrep "Baiduspider+|Googlebot" example.log >spider.txt

3、我们还可以结合awk命令来格式话我们的日志文件

awk倾向于分析一行中的字段,我们需要来看一下网站的日志格式


我们截取百度蜘蛛访问的来源IP、时间、抓取的URL、返回码和抓取的大小。

  1. grep "Baiduspider+" example.log |awk '{print $1 "\t" $4 "\t" $7 "\t" $8 "\t" $9 "\t" $10}'>Baiduspider.txt


这里使用[tab]是为了导入excel文件中更加方便你的分析。更新:可以不用[tab]来格式化日志,直接选择空格作为分隔符就好。



如何使用命令删选不重复的URL的,由于很多日志的参数设置不一样,具体到详细命令命令会有所不同
首先我们还是要知道蜘蛛抓取你的URL位置在你的日志记录行的位置,
由于每条记录的时间戳等不一样,我们不能直接使用sort命令去重,再者我们需要的只是蜘蛛抓取的URL这个参数,那么我们就直接拎出$7这个URL参数后再去重。

如我们要计算蜘蛛抓取的不重复URL个数

  1. cat access.log |grep Baiduspider+ |awk '{print $7}'|sort -u|wc

要把蜘蛛抓取的不重复URL导出来,就可以去掉wc后加上>baiduspiderurl.txt等就可以了

  1. cat access.log |grep Baiduspider+ |awk '{print $7}'|sort -u  >baiduspiderurl.txt

我们还可以在导出的时候自动给每个URL加上抓取的次数

  1. cat access.log |grep Baiduspider+ |awk '{print $7}'|sort |uniq -c  >baiduspiderurl.txt
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值