06-07-2019, 10:13 PM
Buenas noches Ganekogorta, una pregunta después de mucho tiempo sobre este tema de mensajes. al final he cambiado de SAI por motivos de ruido que eran insoportables, he cambiado a otro de la marca Cyberpower, habría que modificar el Script supongo no? o valdría con los que tu pusiste en su dia? gracias
Cita:#! /bin/bash
destino="destinatario@gmx.com"
remite="remitente@gmail.com"
ups=$(upsc qnapups@localhost | grep ups.status
estado=${ups:12:2}
echo "$ups $estado"
if [ "$estado" = "OL" ]; then
echo "EL SAI está con energia electrica en la NAS con SAI"
#compruebo si existe el archivo de flag para saber si ha vuelto la energía
if [ -f flag1.txt ]; then
# si existe el archivo flag1.txt de no comunicacion con el SAI, lo borro
rm flag1.txt
elif [ -f flag.txt ]; then
# envío un correo avisando de que ha vuelto la energía eléctrica
echo "Subject: SAI en carga" > correo.txt
echo "From: $origen" >> correo.txt
echo "To: $destino" >> correo.txt
echo "Ha retornado la energia electrica, el SAI se pone en carga" >> correo.txt
cat correo.txt | /usr/sbin/sendmail -t
rm flag.txt
# aborto ordenes de apagado a otros equipos
fi
elif [ "$estado" = "OB" ]; then
if [ -f flag1.txt ]; then
# si existe el archivo flag1.txt de no comunicacion con el SAI, lo borro
rm flag1.txt
fi
echo "El SAI está con baterías"
# envío un correo avisando de que el SAI entra en accion
echo "Subject: SAI en funcionamiento en NAS principal" > correo.txt
echo "From: $origen" >> correo.txt
echo "To: $destino" >> correo.txt
echo "Hay caida de energía eléctrica, el SAI entra en marcha" >> correo.txt
cat correo.txt | /usr/sbin/sendmail -t
echo "SAI en marcha" > flag.txt
# lanzo ordenes de apagado a otros equipos
else
echo "No contacto con el SAI"
if [ ! -f flag1.txt ]; then
# si NO existe el archivo flag1.txt de no comunicacion con el SAI, lo creo y envío correo
echo "Subject: No encuentro SAI" > correo.txt
echo "From: $origen" >> correo.txt
echo "To: $destino" >> correo.txt
echo "No comunico con el SAI, puede estar desconectador el cable USB" >> correo.txt
cat correo.txt | /usr/sbin/sendmail -t
#creo archivo flag1 para que solo se avise una vez por correo
echo "SAI sin contacto" > flag1.txt
fi
fi
#borro el archivo de correo
if [ -f correo.txt ]; then
rm correo.txt
fi