Bonjour ,
mon but est de faire un script ,avec un cron toutes les minutes, qui m’envoi un sms si il trouve dans logread le mot ’ DHCPOFFER ’
pour faire mes tests j’ai copier dans un fichier logsauj.txt le logread
j’ai essayé d’abords ’ logread -f /root/logsauj.txt | grep ‹ DHCPOFFER › ’ mais ça donne rien
une idée ?
merci
Bonjour,
pour quelle utilité? car tu vas recevoir des centaines de messages.
Quel est le but fonctionnel ?
Sachant que ce message n’existe que sur un serveur DHCP.
j’ai un petit serveur dhcp pour le wifi , où personne ne se connecte , et j’ai placé à quelque metres un esp32 avec l’ id et pass pour ce serveur , l’esp32 est alimenté uniquement si un switch est sur on et donc se connecte automatiquement au serveur dhcp par le wifi
donc quand l’esp32 se connecte , j’ai dans le logread 'DHCPOFFER ’ ( c’est ce que j’ai remarqué )
je voudrais donc , quand ’ DHCPOFFER ’ arrive avec logread envoyé un sms sur mon tel
le petite serveur est en openwrt sur batterie solaire avec une camera et le esp32 sur un switch alimenté par batterie uniquement quand le switch est sur on.
ça m’avertira que quelqu’un a actionner le switch
Qu’appelles tu un switch? on parle bien d’un equipement réseau?
Auquel cas, pourquoi l’esp32 utilise le wifi?
un switch , un interrupteur
j’utilise le wifi car c’est le seul lien que je peux faire avec l’esp32 et le serveur dhcp , c’est un GL-MT300N
Mieux vaut faire un script qui vérifie la présence sur le réseau de ton équipement; avec une prise en compte uniquement des changements d’état. Car DHCPOFFER ne signifie pas que ta machine a une adresse. Cela signifie juste que le serveur en a offert une.
il en a offert une car l’appareil c’est connecté , mon probleme reste le meme que ce soit ’ DHCPOFFER ’ ou une adresse MAC , comment avec logread je fais la recherche ?
Non il en a DHCPOFFER une parce que quelqu’un lui a demandé DHCPREQUEST.
Mais comme une machine va redemander une adresse fréquemment, tu vas avoir fréquemment ton message, sans que ce ne soit réellement corrélé avec le démarrage de la machine.
Pourquoi impérativement considérer que logread est la solution?
Si ta machine est allumée, alors elle va faire un boot.
Dans le processus de boot, il suffit de déterminer la mise en place du réseau la première fois, et d’envoyer le message à ce moment là.
C’est le 1er up du réseau qui sera le déclencheur.
Sinon c’est une supervision simple: un simple ping suffit vers l’adresse réservée de ton esp32.
Si changement d’état up => message « machine UP »
Si changement d’état down => message « machine DOWN »
Tu ne fais rien sur ton esp32. C’est la machine DHCP qui fait le taf.
Ton script détermine si la machine est UP ou DOWN en mettant une variable à 1 ou 0, UP ou DOWN.
Si l’état précédent est le même, une autre variable aura sa valeur à « NO CHANGE » ou « CHANGE ».
Puis si c’est CHANGE: envoi du mesage. Puis mise à « NO CHANGE ».