14-02-2019, 09:54 PM
(Este mensaje fue modificado por última vez en: 15-02-2019, 07:50 PM por Ganekogorta.)
Hola
Se me ocurre el siguiente script llamado sai.sh para poder monitorizar el estado del SAI.
Este archivo lo creo en /share/MD0_DATA/Scripts (ojo que MD0_DATA, puede ser otra ruta en vuestro equipo)
Este archivo lo pondremos en el programador de tareas cada 2 minutos por ejemplo.
El funcionamiento es el siguiente:
-Compruebo estado del SAI. Si está en bateria envía un correo y crea el archivo flag.txt
-Compruebo estado del SAI. Si está con corriente no hace nada siempre no exista el archivo flag
-Compruebo estado del SAI. Si está con corriente y si existe el archivo flag, envía un correo avisando de la vuelta de la energía y borra flag.txt
Para dar ordenes desde equipos Windows a linux se puede usar "plink", que viene con putty
Para hacerlo a la inversa se me ocurre apoyarme en "cygwin" que nos permite tener línea de comandos linux en Windows.
Tengo que dar un par de vuelta a esto último. Cuando lo tenga lo escribo por aquí.
Tal vez de aquí podamos sacar algo http://2tazasdelinux.blogspot.com/2018/0...forma.html
Se me ocurre el siguiente script llamado sai.sh para poder monitorizar el estado del SAI.
Este archivo lo creo en /share/MD0_DATA/Scripts (ojo que MD0_DATA, puede ser otra ruta en vuestro equipo)
Código:
#! /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"
#compruebo si existe el archivo de flag para saber si ha vuelto la energía
if [ -f flag.txt ]; then
# envío un correoo 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 energía eléctrica, 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
else
echo "El SAI está con baterías"
# envío un correo avisando de que el SAI entra en accion
echo "Subject: SAI en funcionamiento" > 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
fi
#borro el archivo de correo
if [ -f correo.txt ]; then
rm correo.txt
fi
Este archivo lo pondremos en el programador de tareas cada 2 minutos por ejemplo.
Código:
echo -e "*/2 * * * * /share/MD0_DATA/Scripts/sai.sh">> /mnt/HDA_ROOT/.config/crontab
crontab /etc/config/crontab
El funcionamiento es el siguiente:
-Compruebo estado del SAI. Si está en bateria envía un correo y crea el archivo flag.txt
-Compruebo estado del SAI. Si está con corriente no hace nada siempre no exista el archivo flag
-Compruebo estado del SAI. Si está con corriente y si existe el archivo flag, envía un correo avisando de la vuelta de la energía y borra flag.txt
Para dar ordenes desde equipos Windows a linux se puede usar "plink", que viene con putty
Para hacerlo a la inversa se me ocurre apoyarme en "cygwin" que nos permite tener línea de comandos linux en Windows.
Tengo que dar un par de vuelta a esto último. Cuando lo tenga lo escribo por aquí.
Tal vez de aquí podamos sacar algo http://2tazasdelinux.blogspot.com/2018/0...forma.html
Un saludo
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η