Software > WeeWX

Ayuda con script para reinicio de Weewx

<< < (2/2)

jantoni:
Yo miraría el procedimiento de watchdog que hay para weewx y que ya se comentó por aquí por un usuario

https://forum.meteoclimatic.net/index.php?topic=2509.0

Evidentemente habrá que adaptarlo a multi instancia

manolodos:
Ya lo tengo, pero son 3 scripts, 1 para cada instancia
Como me dijo jmviper, con pgrep -f
Me queda programarlo en crontab

comprobarislantilla.sh

#!/bin/bash
RESTART="sudo /etc/init.d/weewx restart islantilla"
PGREP="/usr/bin/pgrep -f"
MEMCACHED="weewx-islantilla"
# buscamos que exista el proceso
$PGREP ${MEMCACHED}
# sino existe id de proceso y el comando anterior devuelve 0
if [ $? -eq 1 ]
then
$RESTART
fi

jmviper:

--- Cita de: manolodos en 28 de Noviembre del 2022, 20:49:02 pm ---
Supongo que habría que modificar el script para que pregunte por cada uno de los 3 procesos, y según cual esté parado, proceder a reniciarlo


--- Fin de la cita ---

Por ahí irían los tiros. Un bloque de esos para cada estación.

Con pgrep tendrías que ver que estuviese ese nombre diferente para cada una y que lo reiniciase.


--- Cita de: jantoni en 28 de Noviembre del 2022, 20:10:07 pm ---
¿Me podéis traducir lo que significa

if [ $? -eq 1 ]      ????


--- Fin de la cita ---

La salida de la ejecución del último comando. En este caso si pgrep devuelve 1 (falso) reinicia weewx. Curioso... casi todos los lenguajes de programación tratan el 1 como true y el 0 como false... menos bash…

P.D. bueno viendo esto último por la web resulta que 0 lo devuelve para una salida normal sin errores y si no, devuelve otro número como código de error siendo el 1 un error general.

manolodos:

--- Cita de: jmviper en 28 de Noviembre del 2022, 22:36:38 pm ---
--- Cita de: manolodos en 28 de Noviembre del 2022, 20:49:02 pm ---
Supongo que habría que modificar el script para que pregunte por cada uno de los 3 procesos, y según cual esté parado, proceder a reniciarlo


--- Fin de la cita ---

Por ahí irían los tiros. Un bloque de esos para cada estación.

Con pgrep tendrías que ver que estuviese ese nombre diferente para cada una y que lo reiniciase.


--- Fin de la cita ---
Sí, con pgrep - f salen los 3 procesos con diferentes nombres, weewx-nerja,  etc

Probado y funcionando con 3 scripts, 1 por estación
En crontab lo he programado cada 15 minutos y con un intervalo de 1 minuto entre cada uno de los 3 scripts

Gracias de nuevo

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa