#!/bin/bash max=4 confdir=/etc/nginx/conf.d/blockips.conf logdir=/var/log/nginx/access.log echo "">$confdir cat $logdir|awk '/send_sms/ {print $1}'|sort|uniq -c|sort -n|while read line do a=(`echo $line`) if [ $a -ge $max ] then echo "deny ${a[1]};" >>$confdir fi done
扒出nginx下access.log日志中含有send_sms字段的可疑IP
然后通过awksortuniq命令排序去重后,变成 deny X.X.X.X;格式后,写入到nginx封IP的配置文件blockips.conf中。
然后reload nginx 使其生效即可。