#!/usr/bin/env bash
logpath="/usr/local/nginx/logs/access.log"
dtime="05/Jul/2017"

echo "=====统计今天IP访问量为=====" 
grep $dtime $logpath |awk '{print $1}' |sort -n|uniq|wc -l

echo "=====统计今天具体时间段IP访问量为=====" 
#grep "21/Jun/2017:1[6:7]" $logpath |awk '{print $1}'|sort|uniq -c|sort -nr|wc -l
#sed -n '/22\/Jun\/2017:1[5]/,/22\/Jun\/2017:1[6]/p' $logpath|wc -l
#sed -n '/16\/Feb\/2016/,/17\/Feb\/2016/p' access_log>20160216.log
sed -n '/05\/Jul\/2017:1[4]/,/05\/Jul\/2017:1[9]/p' $logpath|awk '{print $1}'|sort -n|uniq|wc -l

echo "=====统计今天访问100次以上的IP(TOP10)====="
grep $dtime $logpath|awk '{print $1}'|sort -n|uniq -c|awk '{if($1>100) print $0}'|sort -rn|head -n 10

echo "=====统计今天访问最频繁的URL(TOP100)====="
grep $dtime $logpath|awk '{print $7}' |sort |uniq -c|sort -rn |head -n 100

echo "=====统计今天每秒的IP访问量======"
grep $dtime $logpath|awk '{print $4}'|cut -c 14-21|sort|uniq -c|sort -nr|head -n 60

echo "=====统计今天每秒的请求数======"
grep $dtime $logpath|awk '{print $4}'|cut -c 14-21|sort |uniq -c|sort -nr|head -n 60

echo "=====统计今天每分钟的IP访问量(TOP20)====="
grep $dtime $logpath|awk '{print $4}'|cut -c 14-18|sort|uniq -c|sort -nr|head -n 20

echo "=====统计今天每分钟的请求数(TOP20)====="
grep $dtime $logpath|awk '{print $4}'|cut -c 14-18|sort|uniq -c|sort -nr|head -n 20

echo "=====统计今天每小时IP访问量(TOP20)======"
grep $dtime $logpath|awk '{print $4}'|cut -c 14-15|sort|uniq -c|sort -nr|head -n 20

echo "=====统计今天每小时请求数(TOP20)====="
grep $dtime $logpath|awk '{print $4}' |cut -c 14-15|sort|uniq -c|sort -nr|head -n 20

