Un petit script – 1

Cet article a été initialement écrit sur le blog-libre aujourd’hui fermé, certains liens dans l’article peuvent donc être morts.


J’ai écrit un petit script qui ne casse pas 3 pattes à un canard.

#!/bin/bash

ip=$(dig +short myip.opendns.com @resolver1.opendns.com)
oldip='86.87.88.89'

if [ "$ip" != "$oldip" ]; then
echo "Adresse IP WAN de $HOSTNAME : $ip" | mail -s "Changement d'adresse IP WAN de $HOSTNAME" root
fi

Je lance ce script via une tâche cron toutes les heures. Ça me permet de savoir si mon adresse IP WAN a changé car je m’auto-héberge et mon accès ADSL ne me donne qu’une adresse IP dynamique.

Ce qu’il y a d’intéressant dans ce script, c’est ceci :

dig +short myip.opendns.com @resolver1.opendns.com

La plupart du temps sur Internet vous trouverez une ligne du type :

curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
curl ifconfig.me

J’ai toujours trouvé cette dernière commande très longue même si son point fort est de pouvoir la retenir aisément. Un simple time curl ifconfig.me me donne près de 9 secondes d’attente. Maintenant un time dig +short myip.opendns.com @resolver1.opendns.com me donne systématiquement moins de 0,6 secondes.

Quelques raisons de préférer dig pour le besoin de récupérer son adresse IP WAN :
– Plus rapide
– Ne nécessite pas de traitement pour le formatage de l’adresse IP à base de sed notamment
– Les services DNS (tels que OpenDNS, ceux des fournisseurs d’accès à Internet) sont généralement plus stables et plus pérennes que les sites comme ifconfig.me

Source

Les commentaires sont fermés.