Мне нужна помощь с этим скриптом. Этот скрипт анализирует apache_access.log через filter.txt, если существует термин в фильтре, скрипт что-то сделает. Моя проблема, я думаю, в первой команде "для", я не могу использовать фильтр построчно.
Кто-нибудь может мне помочь?
for term in `tail -n $LINESTOSEARCH $IPEATERFILTER`
do
for ip in `tail -n $LINESTOSEARCH $LOGFILE | grep "$TERM" | awk "{print \\$1}" | sort | uniq -c | sort -rn | head -20 | awk "{if (\\$1 > $THRESHOLD) print \\$2}"`
do
# Look in iptables to see if this IP is already banned
if ! iptables -L INPUT -n | grep -q $ip
then
# Do something
fi
done
done