Test de coupure de courant

Fermé
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 - Modifié le 23 oct. 2018 à 09:39
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 25 oct. 2018 à 15:04
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.


#!/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....


A voir également:

6 réponses

jeannets Messages postés 27657 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 16 janvier 2025 Ambassadeur 5 887
22 oct. 2018 à 19:17
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
0
Itdaboyz Messages postés 359 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 2 juillet 2024 97
23 oct. 2018 à 17:50
L'ip WAN ne test pas la box mais la sortie du serveur ? Depuis quand la "sortie du serveur" répond aux pings qui ne lui sont pas adressés ?
0
jeannets Messages postés 27657 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 16 janvier 2025 5 887
23 oct. 2018 à 19:04
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.
0
Itdaboyz Messages postés 359 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 2 juillet 2024 97 > jeannets Messages postés 27657 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 16 janvier 2025
24 oct. 2018 à 20:47
C'est simplement que ton IP a été assignée à une autre box. Un DSLAM n'a pas d'IP, il me semble même qu'il ne supporte pas le protocole IP, c'est un simple modem.
Par contre je te rejoins sur le fait que ping la box n'assure rien. L'ip dynamique foire tout
0
jeannets Messages postés 27657 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 16 janvier 2025 5 887
24 oct. 2018 à 21:41
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.
0
Itdaboyz Messages postés 359 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 2 juillet 2024 97 > jeannets Messages postés 27657 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 16 janvier 2025
24 oct. 2018 à 21:50
Ce que tu vois dans les traceroutes sont des routeurs.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 420
23 oct. 2018 à 09:32
Salut,

Tiens, je viens de découvrir Shellcheck (via Korben).

Voilà le résultat pour ton script :


0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
23 oct. 2018 à 12:37
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.
0
jeannets Messages postés 27657 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 16 janvier 2025 5 887
23 oct. 2018 à 15:46
Non, le ping autorisé va chez le FAI il n'est pas local et bien d'autre chose aussi
0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
24 oct. 2018 à 13:36
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.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 420
24 oct. 2018 à 13:43
Tu peux donner le dernier octet de ton IP histoire de tester dans un 1er temps le ping de ta box, s'teuplé ?
0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
25 oct. 2018 à 12:44
C'est le 34
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 420 > thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021
25 oct. 2018 à 13:34
Le ping est interdit ???



;-(
0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
25 oct. 2018 à 14:50
Nan le ping est autorisé chez moi, mais je l'interdirai dés mon retour....
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 420 > thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021
25 oct. 2018 à 15:04
Euh… tu postes depuis où là ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
25 oct. 2018 à 12:59
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 un
ssh 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.
0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
Modifié le 25 oct. 2018 à 13:53
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.

0