(12-03-2019, 07:27 PM)Ganekogorta escribió: Efectivamente, sólo queda añadir órdenes de apagado o anulación remotas.
En caso de no poder lanzar comandos a los pc o mac estoy pensando en apoyarme en la creación/existencia de archivos en esos equipos vía samba. Y en esos equipos hacer una comprobación para apagar de forma local si existe ese archivo (creado por la nas)
Un saludo
Agur eta ondo ibilli
Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Ok. Haber si saco un rato y lo pruebo en mi QNAP. Mi NAS está conectado via usb, con lo cual usaría el segundo script verdad? Tendría que poner mi email en destinatario y remitente?
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
Hola
En principio vale para todos los sai en los que la nas sea capaz de conocer su estado.
Un saludo
Agur eta ondo ibilli
Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
(07-07-2019, 12:05 AM)Ganekogorta escribió: Hola
En principio vale para todos los sai en los que la nas sea capaz de conocer su estado.
Un saludo
Agur eta ondo ibilli
Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
ok. muchísimas gracias
17-07-2019, 03:36 PM
(Este mensaje fue modificado por última vez en: 17-07-2019, 03:37 PM por Oroimenak.)
Bunas Ganekogorta. siento siempre responder a las pruebas tan tarde.
voy a grabar el sricpt para que se ejecute en contrab, la orden seria así verdad?
Cita:echo -e "*/5 * * * * /share/CACHEDEV1_DATA/Scripts/sai.sh">> /mnt/HDA_ROOT/.config/crontab
crontab /etc/config/crontab
con escribir ese código valdría verdad?
o lo prodria hacer también de la siguiente forma:
Cita:- vi /etc/config/crontab
- Añadimos la linea: */5 * * * * /bin/bash /share/CACHEDEV1_DATA/homes/admin/actualizaip.sh
Ahora para guardarlo hay que pulsar la tecla ESC una vez, luego escribes ":wq!" (dos puntos, letra w, letra q y admiración). Al dar al enter le estás diciendo que lo escriba (Write) y que salga (eXit)
- Reiniciamos el cron: crontab /etc/config/crontab && /etc/init.d/crond.sh restart
Hola
Si a ambas cosas.
En la primera metes la línea a mano. Súper importante poner >> porque como sólo pongas > te cargas todo el archivo de crontab y lo dejas con esa única línea. Y lo que queremos es agregar esa línea (usamos >> para agregar )
Pero has de lanzar las últimas órdenes (que has encadenado con &&” para actualizar y relanzar el cron.
Un saludo
Agur eta ondo ibilli
Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
(17-07-2019, 07:41 PM)Ganekogorta escribió: Hola
Si a ambas cosas.
En la primera metes la línea a mano. Súper importante poner >> porque como sólo pongas > te cargas todo el archivo de crontab y lo dejas con esa única línea. Y lo que queremos es agregar esa línea (usamos >> para agregar )
Pero has de lanzar las últimas órdenes (que has encadenado con &&” para actualizar y relanzar el cron.
Un saludo
Agur eta ondo ibilli
Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
ok. gracias. lo añadiré mediante la ultima orden que me parece mas fácil y así me aseguro que no borro nada.
Cita:- vi /etc/config/crontab
- Añado la linea: */5 * * * * /bin/bash /share/CACHEDEV1_DATA/Scripts/sai.sh
y después escribo lo siguiente
Cita:A para guardarlo hay que pulsar la tecla ESC una vez, luego escribes ":wq!"
y ya por ultimo reinicio el cron
Cita:crontab /etc/config/crontab && /etc/init.d/crond.sh restart
Buenas noches, justo hace 10 minutos me acaba de saltar La Luz de casa pero el Script no me ha llegado a funcionar, han pasado mas de 5 minutos y no me ha llegado ningún mensaje.
el script es el siguiente:
Cita:#! /bin/bash
destino="mi email"
remite="email donde recibirá los avisos"
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
decir que solamente he cambiado los email que están en negrita, el resto de código lo he dejado como esta.
Cita:echo -e "*/5 * * * * /share/CACHEDEV1_DATA/Scripts/sai.sh">> /mnt/HDA_ROOT/.config/crontab
y luego he reiniciado con la siguiente
Cita:crontab /etc/config/crontab && /etc/init.d/crond.sh restart
07-08-2019, 12:46 PM
(Este mensaje fue modificado por última vez en: 07-08-2019, 12:55 PM por Ganekogorta.)
Hola
Pregunta previa ¿de donde están alimentados el router y el switch?
Si están apagados durante el corte, la nas no puede enviar mensajes, está incomunicada.
Como ahora te ha vuelto la energía, puedes hacer pruebas desenchufando el sai de 220V. Comprueba a ver si te llega mensaje o te apaga ordenadamente las nas.
Un saludo
Agur eta ondo ibilli
Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
07-08-2019, 02:02 PM
(Este mensaje fue modificado por última vez en: 07-08-2019, 10:42 PM por Oroimenak.)
Buenas. El router está conectado a la SAI.
He probado esta mañana a desenchufar el SAI de la red para ver si me llegaba el
Mensaje y no me llegan.
En el NAS tengo configurado que si en 2 minutos está siendo alimentado por el SAI empiece a pagar servicios, podría ser por eso?
Otra cosa, no entiendo mucho de script, pero tendria analgo que ver esto?
Lo dejo subrayado. Tendría que ser en vez de “remite” sería “origen”?
" />
|