>Доброго времени суток, помогите реализовать скрипт который выдергивал бы нужные IP адреса >из nginx. >Суть скрипта такова, есть модуль у nginx который пишет в логи превышенное >число соединений сообщением к примеру: >[error] 19025#0: *4209513 access forbidden by rule, client: 123.123.13.13, server: example.org, request: ># ищем ботов >cat /var/log/nginx/error.log | grep "limiting connections by zone" | grep "request: \"GET >/ HTTP/1.1"| awk '{print $12}'| awk -F"," '{print $ >1}'| sort | uniq -c | sort -nr > /tmp/botnet.blacklistgawk '/access forbidden by rule/ { match($0, /client: ([^,]+),/, a); print a[1] }' /var/log/nginx/error.log | sort | uniq -c | sort -nr > /tmp/botnet.blacklist можно и sort|uniq|sort переписать на awk, но лениво :-)
|