LINUX.ORG.RU

История изменений

Исправление alozovskoy, (текущая версия) :

Там как раз для тебя решение, надо только совсем немного поправить

grep "MirrorAgent\/2.2" /var/log/var/log/sitename.org.access_log | awk '{print "deny "$1}' | sort -u > /home/8popugaev/etc/nginx/blockips.conf && /etc/init.d/nginx reload

/etc/init.d/nginx reload замени на команду, которая у тебя там заставляет nginx перечитать конфиги.

Запускай по крону раз в N минут (хоть раз в секунду, все зависит от размера лога). Еще вариант - добавить в grep выборку по времени если лог слишком большой и плясать от этого.

Для того чтоб сделать реальный реалтайм потребуется больше плясок с бубном и, желательно, специализированные решения. Не думаю что тебе это нужно.

Исходная версия alozovskoy, :

Там как раз для тебя решение, надо только совсем немного поправить

grep "MirrorAgent\/2.2" /var/log/var/log/sitename.org.access_log | awk '{print "deny "$1}' | uniq > /home/8popugaev/etc/nginx/blockips.conf && /etc/init.d/nginx reload

/etc/init.d/nginx reload замени на команду, которая у тебя там заставляет nginx перечитать конфиги.

Запускай по крону раз в N минут (хоть раз в секунду, все зависит от размера лога). Еще вариант - добавить в grep выборку по времени если лог слишком большой и плясать от этого.

Для того чтоб сделать реальный реалтайм потребуется больше плясок с бубном и, желательно, специализированные решения. Не думаю что тебе это нужно.