假設pcaccess.log是某應用的accesslog
a.查看日志中訪問次數(shù)最多的前10個IP
cat pcaccess.log|cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less
b.查看日志中出現(xiàn)100次以上的IP
#cat pcaccess.log |cut -d ' ' -f 1 |sort |uniq -c | awk '{if ($1 > 100) print $0}'|sort -nr |less
c.查看最近訪問量最高的URL
假設第九個位置是url,則命令如下:
#cat pcaccess.log |tail -10000|awk '{print $9}'|sort|uniq -c|sort -nr|less
左邊的數(shù)字是出現(xiàn)的次數(shù),右邊的參數(shù)是對應的URL
d.查看最近訪問量最高的頁面(.jsp)
#cat pcaccess.log |awk '{print $9}'|grep '.jsp'|sort|uniq -c|sort -nr |head -n 10
e.查看日志中訪問超過100次的頁面
#cat pcaccess.log | cut -d ' ' -f 9| sort |uniq -c | awk '{if ($1 > 100) print $0}' | less
f.某天訪問網(wǎng)站的獨立IP有多少
#cat pcaccess.log|grep '17/Oct/2012'|grep "******"|wc|awk '{print $1}'|uniq
g.統(tǒng)計某類url,一天的訪問次數(shù)
#cat pcaccess.log |grep '17/Oct/2012'|awk '{print $9}'|grep '/model.html'|wc -l
h.列出傳輸時間超過 3 秒的文件
首先把請求時間和文件提取出來(假如倒數(shù)第四個域是請求時間)
#cat pcaccess.log|awk '{print $9 ,$(NF-4)}' >timeurl
找出傳輸時間超過3s的文件
#cat timeurl|awk '($NF > 3){print $1,$2}'
找出傳輸時間超過3s的文件并且出現(xiàn)次數(shù)最多的前20個
#cat timeurl|awk '($NF > 3){print $1}'|sort -n|uniq -c|sort -nr|head -20
i.列出傳輸大的幾個exe文件(分析下載站的時候常用)
#cat pcaccess.log |awk '($7~/\.exe/){print $14,$9}'|sort -nr|head -20
j.統(tǒng)計404的連接
#awk '($12 ~/404/)' pcaccess.log | awk '{print $12,$9}' | sort|uniq -c|sort -nr
k.統(tǒng)計http status
#cat pcaccess.log |awk '{counts[$(12)]+=1}; END {for(code in counts) print code, counts[code]}'
#cat pcaccess.log |awk '{print $12}'|sort|uniq -c|sort -rn