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

#!/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

Posted in Apache, Bash, Linux by texilee at August 23rd, 2006.

Leave a Reply