Page 1 sur 2

Script qui teste l'accès web de domoticz

Publié : 24 mai 2015, 16:06
par sirus
Bonjour à tous,

je viens juste pour partager ce petit script que j'ai mis en place il y a quelques mois. Il teste l'accès http de domoticz et le redémarre en cas de problème. Je ne sais pas si je suis le seul mais quelque fois le serveur web de domoticz plante alors que le reste de l'application fonctionne très bien. Dans ce cas seul un redémarrage de domoticz permet de rétablir la citation.

A mettre dans votre crontab :

Code : Tout sélectionner

# Check http access
*/5 * * * *  /root/scripts/test_http.sh >> /tmp/test_http_access.log
Le script :

Code : Tout sélectionner

#!/usr/bin/ksh
################################################################
#
# This script will test the domoticz http web access
#
################################################################
# test connexion with max 5s
curl -s http://<raspberry IP>:<PORT> -m 5 > /dev/null
CR=$?


if [ $CR != 0 ]
then
        echo "`date` Probleme RC=$CR"
        echo "Restarting Domoticz"
        /etc/init.d/domoticz.sh restart

else
        echo "`date`  RAS code retour $CR "
fi

Et vous pouvez voir dans les logs les plantage et redemarrages :

Code : Tout sélectionner

root@raspberrypi:~# grep -v RAS /tmp/test_http_access.log
Thu May 14 20:48:07 CEST 2015 Probleme RC=28
Restarting Domoticz
Restarting Domoticz Home Automation System: domoticz2015-05-14 20:48:12.001  Domoticz V2.2286 (c)2012-2015 GizMoCuz
2015-05-14 20:48:12.002  System: Raspberry Pi
2015-05-14 20:48:12.002  Startup Path: /home/pi/domoticz/
.

A ce jour je n'ai pas trouvé la cause de ces plantages (log domoticz ou rasberry ras). Donc je me suis addapté...

En espérant que ça serve aussi à d'autres...

Re: Script qui teste l'accès web de domoticz

Publié : 04 juin 2015, 11:07
par vil1driver
salut,

quelque chose d'approchant en lua

[edit]

Ne fonctionne pas

[/edit]

Re: Script qui teste l'accès web de domoticz

Publié : 11 juin 2015, 20:27
par bran2000
bonjour,
j'ai les erreurs suivantes en utilisant le script de reboot, est-ce normal ?

./script_time_reboot.lua: line 1: --: command not found
./script_time_reboot.lua: line 2: --: command not found
./script_time_reboot.lua: line 3: --: command not found
./script_time_reboot.lua: line 13: local: can only be used in a function
./script_time_reboot.lua: line 15: --------------------------------: command not found
./script_time_reboot.lua: line 16: --: command not found
./script_time_reboot.lua: line 17: --------------------------------: command not found
./script_time_reboot.lua: line 20: syntax error near unexpected token `('
./script_time_reboot.lua: line 20: `time=os.time()'

Re: Script qui teste l'accès web de domoticz

Publié : 12 juin 2015, 09:52
par Doume
J'ai l'impression que tu as utilisé un éditeur Windows, qui ajoute des 'CR/LF' invisibles en fin de chaque ligne !
Sous Linux, il faut un éditeur Unix/Linux !

Re: Script qui teste l'accès web de domoticz

Publié : 12 juin 2015, 10:27
par vil1driver
Winscp pour se connecter et notepad++ pour l'édition.
Le couple parfait.

Re: Script qui teste l'accès web de domoticz

Publié : 18 juil. 2017, 08:43
par totof60
Déterrage de sujet !!!!

edité

Re: Script qui teste l'accès web de domoticz

Publié : 18 juil. 2017, 09:08
par totof60
Question bête !!

Pour alimenter ce sujet je précise qu'il faut rendre le fichier exécutable avec un

Code : Tout sélectionner

 chmod +x ./test_http.sh
ensuite on le test avec ./test_http.sh

mon script :

Code : Tout sélectionner

#!/bin/sh
################################################################
#
# This script will test the domoticz http web access
#
################################################################
# test connexion with max 5s
curl -s http://ip de mon domoticz:8080 -m 5 > /dev/null #IP du raspberry et 8080 le port de Domoticz
CR=$?
if [ $CR != 0 ]
then
echo "`date` Probleme RC=$CR"
        echo "Restarting Domoticz"
        /etc/init.d/domoticz.sh restart

else
        echo "`date`  RAS code retour $CR "
fi 
Avec la crontab suivante on test toutes les deux minutes et on envoi le resultat dans un fichier log du repertoire temp

Code : Tout sélectionner

*/2 * * * * sudo /home/pi/domoticz/scripts/test_http.sh >> /tmp/test_http_access.log

Re: Script qui teste l'accès web de domoticz

Publié : 18 juil. 2017, 09:10
par sirus
Bonjour,

le fichier /tmp/test_http_access.log contient les log d’exécution du script que le résultat du test d'accès a domotics soit positif ou négatif

Pour tester le script tu peux simplement lancer la commande :

Code : Tout sélectionner

/root/scripts/test_http.sh 
qui affichera a l’écran les résultats ou :

Code : Tout sélectionner

/root/scripts/test_http.sh >> /tmp/test_http_access.log
puis aller lire le fichier /tmp/test_http_access.log

Re: Script qui teste l'accès web de domoticz

Publié : 18 juil. 2017, 09:23
par totof60
Merci sirus , j'avais posé une question bête, merci d'y avoir répondu !

J'ai édité et apporté quelques infos .

bien sur le script ne fonctionnait pas puisque je ne l'avais pas rendu exécutable :oops:


le joli log :

Code : Tout sélectionner

RAS code retour 0
RAS code retour 0
RAS code retour 0
mardi 18 juillet 2017, 09:02:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:04:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:06:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:08:02 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:10:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:12:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:14:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:16:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:18:02 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:20:01 (UTC+0200)  RAS code retour 0 
mardi 18 juillet 2017, 09:22:01 (UTC+0200)  RAS code retour 0 

Re: Script qui teste l'accès web de domoticz

Publié : 18 juil. 2017, 20:25
par Chrominator
C'est bien tout ça, ça fait travailler les neurones.

Pour les fainéants qui sont sous Linux comme moi (à vous de deviner si je suis fainéant, sous Linux ou les deux :D ), y a monit qui marche très bien.
Y a même un tuto dans le wiki Domoticz.