linux 网站日志分析常用命令

时间:2022-12-09 22:50:37

1.进入存放日志的文件夹

cd d:/111

2.查看该文件下所有文档

ls

3.合并日志或其他文件

cat *.log > example.log #合并后缀为log的日志文件

cat 1.log 2.log > 3.log #合并指定的日志

4.提取百度蜘蛛(如果有错误,请参考:http://www.lirang.net/post/38.html)

grep "Baiduspider" example.log > baiduspider.txt #提取404、500等其他以此类推

5.同时提取符合两个属性的东西

egrep "Baiduspider|Googlebot" example.log > spider.txt #其他以此类推

6.提取百度蛛蛛访问产生的所有状态码和数量,并按降序排列

cat *.log |grep ‘Baiduspider’ | awk '{print $11}' |sort|uniq -c|sort -nr|awk '{print $2 "\t" $1}' >baiduma.log

或:awk '{print $11}'  baidu.log |sort|uniq -c|sort -nr |awk '{print $2 "\t" $1}' >baiduma.log

7.提取百度蜘蛛访问码为200的前100个页面及访问次数,并按降序排列

cat *.log |grep 'Baiduspider' | grep  ' 200 ' |awk '{print $5}' | sort | uniq -c | sort -nr | head -n 100 >baiduurl200.log

或:grep  ' 200 ' baidu.log  | awk '{print $5}' | sort | uniq -c | sort -nr | head -n 100 >baidu200.log

8.提取所有404、301、302等非正常状态码的页面并按降序排列

awk '($11 ~/404/)'   baidu.log | awk '{print $11,$5}' | sort >baidu404.log

9.计算蜘蛛抓取的不重复URL个数

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

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

给每个URL加上抓取的次数:cat access.log |grep Baiduspider+ |awk '{print $7}'|sort |uniq -c >baiduspiderurl.txt

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

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

11.上边命令中的$是根据这里自定义,自己对照自己的日志