使用一条Shell 统计 nginx 日志在3月26日1点到5点访问Ip最多的前10个

回复 收藏
使用一条Shell 统计 nginx 日志在3月26日1点到5点访问Ip最多的前10个 日志路径 /usr/local/nginx/logs/access.log


日志格式

; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" "-"
192.168.9.135 - - [23/Aug/2016:16:08:34 +0800] "GET /images/default/header.gif HTTP/1.1" 304 0 "http://192.168.23.79/search.php" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" "-"
192.168.9.135 - - [23/Aug/2016:16:08:34 +0800] "GET /images/default/mtabbg.gif HTTP/1.1" 304 0 "http://192.168.23.79/search.php" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" "-"
192.168.9.135 - - [23/Aug/2016:16:08:34 +0800] "GET /images/default/pm_ntc.gif HTTP/1.1" 304 0 "http://192.168.23.79/search.php" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" "-"


谢谢
2016-08-23 16:29 举报
已邀请:
0

shuaizy_2016

赞同来自:

awk '{print $1}' /usr/local/nginx/logs/access.log |sort |uniq -c|sort -nr|head -n 10|grep "26/Mar/2016:0[1-5]"
不知道行不行~可以试一试。。
0

zhangyuqing

赞同来自:

shuaizy_2016 发表于 2016-8-23 17:04
awk '{print $1}' /usr/local/nginx/logs/access.log |sort |uniq -c|sort -nr|head -n 10|grep "26/Mar/20 ...

不行
0

乐橙306

赞同来自:

1.grep  里面 表示 或者的关系 用符号   |

2.依你的思路
cat  /usr/local/nginx/logs/access.log |  grep  "23/Aug/2016:01\|23/Aug/2016:02\|23/Aug/2016:03\|23/Aug/2016:04\|23/Aug/2016:05"   | awk  '{print $1}'|  sort  | uniq  -c  |  sort  -nr  | head  -10

3.我的想法
先按时间段截取去这段日志
再做排序  
0

zhangyuqing

赞同来自:

乐橙306 发表于 2016-8-23 19:18
1.grep  里面 表示 或者的关系 用符号   |

2.依你的思路

{:7_207:}这样是可以得。谢谢

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: