nginx封IP脚本

#!/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

然后通过awk\sort\uniq命令排序去重后,变成 deny X.X.X.X;格式后,写入到nginx封IP的配置文件blockips.conf中。

然后reload nginx 使其生效即可。

 

posted on 2017-08-24 14:45  Nage  阅读(705)  评论(0编辑  收藏  举报

导航