APACHE Script monitor hits per ip in un arco di N minuti

23/08/2006 by - Apache, Bash, Linux

#!/bin/bash
# Script per monitorare il numero di hits per ip in un arco di N minuti, solo utente root

#default minuti
DEFAULTMIN=1440

#check utente ROOT
ROOT_UID=0

#codice errore se nn root
E_NONROOT=67

if [ “$UID” -ne “$ROOT_UID” ]
then
echo “Devi essere root….”
exit $E_NONROOT
fi

if [ -n “$1” ]
then
NUMERO=$1
else
NUMERO=$DEFAULTMIN
echo “Uso: `basename $0` numero_minuti [DEFAULT 1440]”
fi

#Linea per far puntare la variabile ACCESSLOGTMPFILE al file access.log originale
ACCESSLOGTMPFILE=’/var/www/htdocs/web/logs/web-access.log’

LIMITE=$NUMERO
for ((i=1; i <= LIMITE; i++)) do CONFRONTO=`date --date="$i minutes ago" +"%d/%b/%Y:%R"` printf $CONFRONTO printf "\t" grep $CONFRONTO $ACCESSLOGTMPFILE |wc -l done exit 0



Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.