LINUX.ORG.RU

ipset проблема с заносом ip

 


0

1
ipset -A ban `tail -f  /var/www/httpd-logs/*access.log | grep -E "HTTP/2.0|\" 444" | awk '{print $1}'`

хочу попробовать вот так банить айпи, но не понимаю почему не отрабатывает команда, что я упустил?



Последнее исправление: User01 (всего исправлений: 2)

что я упустил?

понимание того, как работает шелл.

пока то, что в бэктиках (субшелл) не завершит свою работу, команда из основного шелла не выполнится.

(а твой tail -f не завершит работу никогда)

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)
Ответ на: комментарий от aol

помоему как-то можно добавлять чтоб он не говорил такое ipset v6.38: Element cannot be added to the set: it’s already added натыкался на статейку, возможно путаю с чем-то. Или не поможет?

User01
() автор топика
Ответ на: комментарий от User01

Да, допиши 2>> /dev/null (правда это скроет все ошибки а не только эту).

Но вообще такая схема в целом - костыль, желательно переписать всё на си с нормальным парсером лога а не tail+grep+awk+xargs. Там же можно и убрать дублирующиеся адреса будет.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)

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

antech
()
Последнее исправление: antech (всего исправлений: 1)