Monitorización puntos acceso

Ejemplo de script para avisar si un punto de acceso no responde. ¿Porque de la complicación? porque me he encontrado veces que las putas antenas responden al ping pero están colgadas ya que su interfaz web no responde, por tanto, lo que se hace es:
  1. Ver si puedo acceder al puerto web de las antenas definidas en un fichero
  2. Guardar un array con las antenas que no responden
  3. Enviar un email al admin con info útil de la antena (ubicación) que se encuentra en el mismo fichero.
FICHERO DEFINICION ANTENAS

172.16.0.2 Planta 4 ala LARGA
172.16.0.3 Salon 1
172.16.0.4 Salon 2
172.16.0.5 Planta 2 ala LARGA
172.16.0.6 Planta 3 ala CORTA
etc

SCRIPT
declare -a dead
let i=1

for antena in $(cat $llista|awk '{print $1}')
do
   echo QUIT | nc -w 3 $antena 80

   if [ $? -ne 0 ]; then
       dead[$i]=$antena
       let i+=1
   fi
done

let i=1
(while [ $i -le ${#dead[@]} ]
do
    echo "$temps Antena ${dead[$i]} no responde: REINICIAR antena $(cat $llista|grep ${dead[$i]}|awk '{$1="";print}')"
    let i+=1
done
echo
echo "Nota: Hola ke ase me reinicia o ke ase."
echo "      La llave para abrir la puertecita es la 4"
echo "      agur") | mail -r no-reply@example.com -s "wifi dead" admin@example.com

Comentarios