1. #!/bin/bash 
  2. NGINX_HOME=/usr/local/nginx 
  3. LOG=/var/nginx/www.test.com.log 
  4.  
  5.  cat $LOG | awk -F"-" {'print $1'} | grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou"| sort |uniq -c |sort -rn |awk '{ if($1>150) print "deny "$2";" }' > $nginx_home/conf/vhosts/blockip.conf 
  6. /bin/kill -HUP `cat $nginx_home/logs/nginx.pid` 

以上脚本稍微修改也可以利用iptalbes封堵