access.log统计/处理

此文根据其他博文整理而成


统计apache日志文件里访问量前十的ip并按从多到少排列

方法1:

cat access.log | awk  '{print $1}' | sort | uniq -c | sort -n -r | head -10

方法2:

cat access.log | awk -F "- -" '{print $1}' | sort -t . | uniq -c | sort -n -r | head -10

方法3:

awk '{a[$1] += 1;} END {for (i in a) printf("%d %s\n", a[i], i);}' access.log | sort -n -r | tail

首先用awk统计出来一个列表,然后用sort进行排序,最后用tail取最后的10个。
以上参数可以略作修改显示更多的数据,比如将tail加上-n参数等,另外日志格式不同命令也可能需要稍作修改。

当前WEB服务器中连接次数最多的ip地址

netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr

查看日志中访问次数最多的前10个IP

cat access.log |cut -d ' '  -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less

查看日志中出现100次以上的IP

cat access.log |cut -d ' ' -f 1 |sort |uniq -c | awk '{if ($1 > 100) print $0}' | sort -nr | less

查看最近访问量最高的文件

cat access.log | tail -10000 | awk '{print $7}' | sort | uniq -c | sort -nr

查看日志中访问超过100次的页面

cat access.log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}'

统计某url,一天的访问次数

cat access.log | grep '12/Aug/2009' | grep '/images/index/e1.gif' | wc | awk '{print $1}'

前五天的访问次数最多的网页

cat access.log | awk '{print $7}' | uniq -c | sort -n -r | head -20

从日志里查看该ip在干嘛

cat access.log | grep 192.168.22.122 | awk '{print $1"\t"$7}' | sort | uniq -c | sort -nr

列出传输时间超过 30 秒的文件

cat access.log | awk '($NF > 30){print $7}' | sort -n | uniq -c | sort -nr | head -20

列出最最耗时的页面(超过60秒的)

cat access.log | awk '($NF > 60 && $7~/\.php/){print $7}' | sort -n | uniq -c | sort -nr | head -100
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值