Page 1 sur 2
Script qui redemarre domoticz.sh si crash
Publié : 30 déc. 2014, 08:19
par nickos
salut
sur le site de domoticz, j'ai trouvé un script for utile qui redemarre domoticz.sh si il crash, donc domoticz offline
dans /home/pi/domoticz/scripts
un nano check_domoticz_online.sh
coller le script
Code : Tout sélectionner
#!/bin/bash
if [[ ! "$(sudo service domoticz.sh status)" =~ "domoticz is running" ]]
then
sudo service domoticz.sh start
echo "domoticz restarted"
fi
ctrl o pour enregistré et ctrl x pour quitté
pour le rendre exécutable
Code : Tout sélectionner
sudo chmod +x /home/pi/domoticz/scripts/check_domoticz_online.sh
Maintenant on ajoute la ligne suivante dans le fichier crontab (nous allons exécuter ce script chaque minute)
tapez la commande suivante
crontab -e
ajoutez cette ligne vers la fin
Code : Tout sélectionner
*/1 * * * * sudo /home/pi/domoticz/scripts/check_domoticz_online.sh
ctrl o pour enregistré et ctrl x pour quitté
normalement finit les domoticz offline
Re: Script qui redemarre domoticz.sh si crash
Publié : 14 avr. 2015, 10:41
par frca14
Bonjour,
Je cherchais pourquoi mes GPIO qui actionnent des relais repassaient à l'état low au bout d'un moment.
J'ai écris un script pour mesurer le temps au bout duquel l'état changeait.
Résultat : ce n'est pas au bout d'un certain temps mais à heures fixes, à l'heure pile et à 30 minutes.
J'ai cherché ce qui se passait à ces heures et j'ai trouvé dans crontab que j'avais ce script de vérification que je lançais à ces heures.
Je l'ai supprimé et mes GPIO sont devenus stables.
J'ai trouvé la réponse sur ce forum ici :
viewtopic.php?f=8&t=467
Du coup j'utilise le script proposé dans le post cité à la place de celui ci-dessus.
Tout ça pour dire : merci à tous
Re: Script qui redemarre domoticz.sh si crash
Publié : 16 avr. 2015, 10:35
par js-martin
Merci frca14 : je débute dans Domoticz et j'étais étonné de ne rien trouver sur le sujet !
Je suis content que mon expérience et mon script ont pu t'aider

Re: Script qui redemarre domoticz.sh si crash
Publié : 27 avr. 2015, 18:38
par beting
Bien vue
Re: Script qui redemarre domoticz.sh si crash
Publié : 24 sept. 2015, 21:11
par ramses54
bonjour,
j'ai peut être mal compris le script mais ne faut pas-t-il pas redémarrer domoticz si le status est "domoticz is NOT running"?
en plus quelque soit la réponse que vous le ferez, je n'arrive pas à lancer le script
quelqu'un peut m'aider?
d'avance merci
Re: Script qui redemarre domoticz.sh si crash
Publié : 24 sept. 2015, 21:28
par patrice
Bonsoir
@ramses
le script commence par un ! qui signifie "non", donc si je ne recupere pas "domoticz is running" alors je le lance
syntaxiquement le script est correct .
Cela n'explique toutefois pas pourquoi cela plantait pour frc14
Code : Tout sélectionner
#!/bin/bash
if [[ ! "$(sudo service domoticz.sh status)" =~ "domoticz is running" ]]
then
sudo service domoticz.sh start
echo "domoticz restarted"
fi
Je l'ai testé sur mon install et en effet il fait le job attendu.
Re: Script qui redemarre domoticz.sh si crash
Publié : 24 sept. 2015, 22:10
par js-martin
comme on l'avais signalé plus haut, ce script remet à zéro les GPIO à chaque test...il est préférable de faire ce genre de script :
Code : Tout sélectionner
#!/bin/bash
# Script qui vérifie l'état de domoticz et qui le relance si offline
if pgrep domoticz ; then
echo "Domoticz is running"
else
sudo service domoticz.sh start
fi
Ce script a encore un défaut : parfois, le serveur web intégré à Domoticz plante, dans ce cas, il est possible de faire cela :
http://domotique.web2diz.net/?p=105
par contre, je n'ai pas compris ce qui fait planter le serveur web interne de Domoticz...
Re: Script qui redemarre domoticz.sh si crash
Publié : 28 sept. 2015, 09:02
par ramses54
merci de cette info. je vais changer mon script. je débute sur Linux et effectivement, je ne connais pas toutes ces subtilités.
Re: Script qui redemarre domoticz.sh si crash
Publié : 28 sept. 2015, 11:16
par sylvainsjc
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
Re: Script qui redemarre domoticz.sh si crash
Publié : 28 sept. 2015, 13:07
par epierre
sinon il y a monit qui est fait pour cela