linux下常用分析日志命令(1)

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

摘自:http://www.gnbase.com/thread-2-1.html

你可能感兴趣的:(thread,linux,Excel,百度,Access)