技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

一次任务执行过程

有一个任务,需要我查出日志文件里,访问了a4.shuqi.com域名的来源

zcat *.gz | awk '$9=="a4.shuqi.com"{print$0}' > aaa
cat aaa | awk '{print $16}' > refer.txt
cat refer.txt | awk '{a[$1]++} END{for(i in a) print i,a[i]}' | sort -k 2nr > refer_new.txt

总共查出36968条符合要求的日志,再排查他们的来源,但是有35745显示无来源,我去,这怕是有问题,因此我在我来源字段($16)前后进行探测,看看自己是否选错字段,或者日志文件是否有多种类型,以至于在这个位置不是来源

cat aaa | awk '$16=="\"-\""{print $15}' > error.txt
cat aaa | awk '$16=="\"-\""{print $17}' > error.txt
cat aaa | awk '$16=="\"-\""{a[$17]++} END{for(i in a)print i,a[i]}' | sort -k 2nr > error.txt 

$15都是数字,因此无疑问,$17有显示为http://www.haodewap.com的字段,但是数量不多,23条,其他都是UA信息,再把这23条的详细日志打出来看

cat aaa | grep "haodewap.com" | wc -l
cat aaa | grep "haodewap.com" 

检查一遍,原来应该是UA的部分填上了这个网址,应该是访问者有意为之,无异常,因此才可以确认那35745真的无来源

Apr 15 23:46:13 ppcn-11-186 nginx: 1397576773.634 2014-04-15T23:46:13+08:00 117.135.163.240 a4.shuqi.com - "GET /bc_rank.php?session=guest1357150964887&v=2&uat=10966&cid=4&item=allclick&page=3 HTTP/1.1" 200 14406 "-" "http://haodewap.com/ 1.3" "-" - 0.039

 

posted on 2014-04-18 17:29  codestyle  阅读(254)  评论(0编辑  收藏  举报