今日天气:

(总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell

LINUX技术 老子黑牵翻 8497浏览 0评论

1、把IP数量直接输出显示:
cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l

2、把IP数量输出到文本显示:
cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l > ip.txt

上面的方法是统计出日志里面所有IP的总数,如果你想去除重复的IP,并查看每个IP在次日志中背记录的次数,可以用如下方法:

egrep -o "(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" access.log  |  sort | uniq -c | sort -nr > ip.txt

egrep -o是只显示正则匹配的部分。
sort是排序
uniq -c是显示重复的次数

但这种放吧比较占服务器的硬件资源,请慎用

转载请注明:LINUX服务器运维架构技术分享 » (总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址