Script qui redemarre domoticz.sh si crash

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
baboun2807
Messages : 40
Inscription : 30 déc. 2015, 23:43

Re: Script qui redemarre domoticz.sh si crash

Message par baboun2807 »

sylvainsjc a écrit :Bonjour,
Je connais très bien Linux et il est inconcevable que demander l'état d'un service "status" perturbe les GPIO ou quoique ce soit d'autre.
Sauf... si le script est incorrect et pour moi il l'est.

1) Il est préférable que ce soit le compte root qui lance ce script
2) Il est préférable de toujours indiquer dans le script les chemins des utilitaires (par exemple il ne faut pas taper la commande "service" mais la taper avec son chemin "/usr/sbin/service"

Pour info voici mon script :

Code : Tout sélectionner

#!/bin/bash
# Script qui vérifie l'état de domoticz et qui relance si off
/usr/sbin/service domoticz.sh status
if [ $? -ne 0 ]; then  # Si le service n'est pas lancé
   /usr/sbin/service domoticz.sh start
fi
exit 0
et l'extrait de mon crontab sous root (pour devenir root il faut taper "sudo -s")

Code : Tout sélectionner

*/10 * * * * /home/pi/domoticz/scripts/control-if-started.sh >/dev/null 2>&1
Bonjour

Je débute avec domoticz et les distributions LINUX

Concernant ce script: où faut-il le créer et l'enregistrer? Sur le root? en faisant un cd root puis pico Nom du script.sh?
Faut-il le rendre exécutable? comment?
Et enfin concernant crontab, on fait nano crontab -e?

Pardonnez par avance mes questions qui pourront peut être passer pour idiotes

Merci par avance de vos réponses
Domoticz sur Raspberry Pi 2/ ECO DEVICE / compteur d'eau à impulsion / Plusieurs sondes Oregon / Chacon ON/OFF encastrable CH54555 ou CH54755
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Script qui redemarre domoticz.sh si crash

Message par rimram31 »

epierre a écrit :sinon il y a monit qui est fait pour cela
D'autant plus qu'il existe un tuto domoticz :-) https://www.domoticz.com/wiki/Monitoring_domoticz avec un exemple de configuration qui finit par faire reboot si 5 redémarrages n'ont pas résolu le problème.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Nissa
Messages : 96
Inscription : 21 déc. 2015, 23:38
Localisation : Bordeaux

Re: Script qui redemarre domoticz.sh si crash

Message par Nissa »

Bonjour

Je débute avec domoticz et les distributions LINUX

Concernant ce script: où faut-il le créer et l'enregistrer? Sur le root? en faisant un cd root puis pico Nom du script.sh?
Faut-il le rendre exécutable? comment?
Et enfin concernant crontab, on fait nano crontab -e?

Pardonnez par avance mes questions qui pourront peut être passer pour idiotes

Merci par avance de vos réponses[/quote]

Bonjour,
Ce script redémarre domoticz quelque soit le résultat de la commande status. Utiliser plutot le pgrep qui fonctionne bien.
Pour Baboum, il faut créer le script dans le répertoire /home/pi/scripts et pour crontab il faut lancer la commande crontab -e (sans nano). Cette commande te permettra de modifier le fichier cron et de prendre en compte ces modifs aussitôt la sortie de l'éditeur.
Pour le script prend la méthode par pgrep (voir autre topic)
A+
Domoticz sur RPI4 / Rflink / Rftrxcom / Sondes thermo sur 1Wire / Volets Somfy rts / Divers modules 433 mhz pas chers / Poele à pellets Ravelli domotisé / Volets Bubendorf / SonOff / Arrosage enterré sur SonOff 4 / Robot piscine domotisé
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Script qui redemarre domoticz.sh si crash

Message par Wolfen38 »

J'ai essayé mais quand je lance le script dans le terminal ça me donne ça

Code : Tout sélectionner

check_domoticz_online.sh: ligne 2: erreur de syntaxe dans une expression conditionnelle
 »eck_domoticz_online.sh: ligne 2: erreur de syntaxe près de « ]]
check_domoticz_online.sh: ligne 2: `if [[ ! "$(sudo service domoticz.sh statu')" =~ "domoticz is running" ]]
Envoyé de mon Mi A1 en utilisant Tapatalk

Répondre