统计一天内访问Apache的IP数
时间:2009-04-16 来源:panzt
首先要了解一下Apache的log记录形式,如下:
61.135.249.180 - - [22/Mar/2009:04:19:17 +0800] "GET /news_in.php?fid=233& tid=4763 HTTP/1.1" 200 7865 "-" "Mozilla/5.0 Firefox/3.0.5"
第一项为客户端的IP,第二项为访问时间,后面还请求的具体动作,浏览器类型等。我们关心的就是一条记录的第一项,我们知道,客户端每发起一次HTTP请求Apache就会生成如上的一条记录,那么我们自统计的时候就需要注意除掉重复的IP。
用shell实现如下,涉及到awk,sort,unip等工具。
用awk打印每行的第一项。
awk '{print $1}' access_log用sort排序,方便后面去掉重的IP。
awk '{print $1}' access_log | sort用uniq去掉重复IP的。
awk '{print $1}' access_log | sort | uniq然后就可以用wc统计了。
awk '{print $1}' access_log | sort | uniq | wc
简单来说就是一些UNIX工具的结合。
[root@web httpd]# awk '{print $1}' access_log | sort | uniq | wc764 764 10982
[root@web httpd]#
相关阅读 更多 +
排行榜 更多 +