Test de coupure de courant
thierryR51
Messages postés
144
Statut
Membre
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, Quelle n'est pas notre surprise en rentrant de vacances ou d'un WE de voir la maison dans le noir et le congel HS. Pour être prévenu d'une coupure de courant, il suffit de placer un script sur un raspi chez un ami. Le but est de faire un ping de temps en temps pour voir si notre box fonctionne toujours.
Il y a une petite erreur mais je n'arrive pas à la débusquer:
Pourtant il me semble avoir tout bien fait....
Chercheur en améliorations.
#!/bin/bash
#set -x
CMD=xx.xx.xx.xx #ip externe de la box
FileMemory=FM.txt
MYMAIL="xxxx@gmail.com"
#--------------------------------------------------------------------------------------
if [ -z "$FileMemory" ] #vrai si la chaine est vide
then
echo "Pas de memorisation: Fichier inexistant";
else
oldFM=$( cat "$FileMemory" );
fi
ping -c 1 -w 2 $CMD 1>2
if [ "$?" = 0 ];then
if[ "$oldFM" = "NOK" ];then
echo "OK" > $FileMemory
echo "Courant rétablit" | mail -s"De la maison" $MYMAIL
fi
echo "OK : $CMD"
else
if[ "$oldFM" = "OK" ];then
echo "NOK" > $FileMemory
echo "Courant coupé" | mail -s"De la maison" $MYMAIL
fi
echo "NOK : $CMD"
fi
Il y a une petite erreur mais je n'arrive pas à la débusquer:
pingtest: Syntax error: "then" unexpected (expecting "fi")
Pourtant il me semble avoir tout bien fait....
Chercheur en améliorations.
6 réponses
-
jeannets Messages postés 28406 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 6 604
Bonsoir,
L'ip externe de ta BOX, elle ne teste pas ta BOX mais la sortie du serveur de ton FAI et elle est toujours bonne, même si le courant est coupé chez toi et ta Box arrêté...
Le mieux est d'avoir un onduleur sur ton installation locale qui alimente ton Raspi et ta BOX... ton Raspi t'envoie un email selon la présence du 220 ou non..
Certains onduleurs fournissent même le signal qui donne la présence du secteur... ou un voyant que tu peux utiliser...
et ton IP peut changer de temps en temps...
En perfectionnant un peux, tu pourrais même savoir si c'est le disjoncteur qui est sauté (ou non)
et tant qu'à faire, tu peux même placer une routine de wake on Lan sur ton Raspi te permettant de réveiller un PC à distance puis d'y prendre la main afin de visualiser ce qui se passe sur ton réseau ou autre sorte d'action.
Voila mon aide sur le sujet-
-
le ping va sur la sortie du serveur chez le FAI ou au DSLAM... sur la ligne de l'IP du client
Coupe le courant de ta BOX et va chez un copain, dans l'heure, pour pinguer ton IP externe, elle répond OK si tu as autorisé le ping. C'est mon cas...
Ceci dit, je crois qu'il y a des nuances, il faudrait etre plus pointu; mais en tout cas, j'en ai déduit qu'on ne pouvait pas se fier à la réponse d'un ping pour en conclure que la BOX est éteinte ou qu'il n'y a plus de courant dans la maison...
Par contre un onduleur est capable de détecter la coupure de courant avec certitude, de maintenir la Box en fonction pour pouvoir envoyer un email, grace au RASPI. -
Il y a des DSLAM IP et des DSLAM ATM selon et sinon, C'est le BAS qui a une IP qui sert à la maintenance ou certains paramétrages distants ... Ceux qui n'ont pas d'IP sont traversant et n'apparaissent pas dans les "Tracert" et si tu regarde bien un Trace Route, il y a quand même beaucoup de points intermédiaires et/ou changement de route idfentifiés... évidement, les N° de ces IP restent confidentielles.
-
-
-
Bizarre cette réflexion, car quand je ping ma box et que l'autorisation de ping est coupée, je n'ai pas de réponse. Lorsque je la rétablis, le ping se fait. J'en ai conclu que c'est ma box qui est pinguée et pas le serveur. Je suis avec une BBox, peut être que chez free c'est différent.
-
Si je débranche ma box, il faut que je sache si le serveur du FAI me renvoie le ping.... S'il ne me le renvoie pas, l'affaire est gagnée.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Tout d'abord je voudrais remercier zipe31( encore une fois) pour ShellCheck. C'est un super outil. J'ai retrouvé mes erreurs.
Une solution sur, serait de pinger le LAN à travers la box. Là ça se complique un peu, mais pas trop.
Si je fais unssh thierry@sauvegarde -pxxxxx
Une simple liaison SSH avec mon autre raspi à la maison me permettrait de savoir si la liaison se fait. Mais comment récupérer le résultat ? Ensuite il me faudrait une confirmation que ce ne soit pas une erreur SSH mais bien une coupure de courant.
-
J'ai changé de stratégie
#!/bin/bash #set -x # script de suivi de présence tension à distance par ping d'un LAN par SSH. FileMemory="FM.txt" MYMAIL="toto@gmail.com" #-------------------------------------------------------------------------------------- if [ ! -f "$FileMemory" ] # vrai si le fichier n'existe pas then echo "Pas de memorisation: Fichier inexistant"; echo "NOK" > $FileMemory fi oldFM=$( cat "$FileMemory" ); ssh thierry@sauvegarde -pxxxxxx "exit" if [ "$?" = 0 ] then if [ "$oldFM" = "NOK" ]; then echo "OK" > $FileMemory echo "Courant rétablit" | mail -s"De la maison" $MYMAIL fi else if [ "$oldFM" = "OK" ]; then echo "NOK" > $FileMemory echo "Courant coupé" | mail -s"De la maison" $MYMAIL fi fi
Ça! ça fonctionne depuis mon raspi. C'est juste une relation d'un raspi à un autre. Je pense que là je suis bon.

