Skip to content

Instantly share code, notes, and snippets.

@RaphaelChochon
Created August 24, 2018 21:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RaphaelChochon/2f6d4b27f5affc477f64e05da38bf0ef to your computer and use it in GitHub Desktop.
Save RaphaelChochon/2f6d4b27f5affc477f64e05da38bf0ef to your computer and use it in GitHub Desktop.
Script permettant de surveiller l'état d'une instance de Weewx (sur un Raspberry par exemple) et de le redémarrer si nécessaire
#!/bin/bash
# Script a faire tourner avec bash de cette maniere : /bin/bash /script/a/executer/weewx_restart.sh >/dev/null 2>&1
# Exemple en crontab : */5 * * * * /bin/bash /script/a/executer/weewx_restart.sh >/dev/null 2>&1
# Nom du service à surveiller :
service=weewx
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running !!!"
logger -t $0 $service is running
else
echo "$service is NOT running !!!"
logger -t $0 $service is NOT running
echo "Stopping $service"
logger -t $0 Stopping service $service
/etc/init.d/$service stop
/etc/init.d/$service stop
pkill -9 $service
pkill -9 $service
service $service stop
echo "Restart $service"
logger -t $0 Restart $service
/etc/init.d/$service start
fi
@RaphaelChochon
Copy link
Author

RaphaelChochon commented Jun 4, 2019

Ou en s'inspirant de : https://stackoverflow.com/a/24140715
Qui est a priori plus fiable, car on observe des comportements parfois différents avec l'ancien script et selon les versions de Raspbian et les configurations...

#!/bin/bash
ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0`
result=$(echo $ps_out | grep "$1")
if [[ "$result" != "" ]];then
    echo "Running"
else
    echo "$0 not Running"
    logger -t $0 $1 NOT running
    echo "Stopping $1"
    logger -t $0 Stopping $1

    /etc/init.d/$1 stop
    #pkill -9 $1

    echo "Restart $1"
    logger -t $0 Restart $1

    /etc/init.d/$1 start

fi

Puis en crontab de cette manière :
*/2 * * * * /home/pi/watchdog_weewx.sh weewx >/dev/null 2>&1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment