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