linux 网站日志分析常用命令
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.上边命令中的$是根据这里自定义,自己对照自己的日志