Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



Comment envoyer l’IP de sa box automatiquement par courriel

a. Récupérer l'IP externe de sa box

GET whatismyip.org
  • Cette commande renvoie des erreurs une fois sur deux, donc on va la lancer 2 ou 3 fois dans un script et récupérer l'IP dans un fichier.
nano ~/getip
GET whatismyip.org > .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sh ~/getip
cat ~/.myip
92.122.18.135
92.122.18.135
92.122.18.135

b. Envoyer son IP de box à son courriel au bureau

par msmtp
cat ~/.myip | msmtp johnny@whitehouse.gov
par ssmtp
cat ~/.myip | mail johnny@whitehouse.gov
Sans préciser Subject:DeQuoiOnParle le message n'aura pas de sujet. Il faut donc prévoir de le rajouter en tête du fichier ~/.myip

c. Compléter le script : récupérer l'IP ET l'envoyer

Attention, seule la première ligne ne contient qu'un signe > (ce qui crée ou écrase le fichier). Toutes les autres lignes contiennent 2 signes » (ce qui complète un fichier existant, ou le crée sinon).
  • Modifier le fichier ~/getip pour qu'il intègre la commande msmtp (ou mail) à la dernière ligne:
nano ~/getip
Subject:MaBoxMeParle > .myip
GET whatismyip.org >> .myip 
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
cat .myip | msmtp johnny@whitehouse.gov
  • Rendre le script exécutable :
chmod 700 ~/getip

Utilisation

  • Lancer le script
sh ~/getip

Vérification

  • Depuis votre client de messagerie, vérifiez que vous avez bien reçu le message attendu, soit 3 lignes avec l'adresse IP de la maison blanche … si c'est là que votre box est branchée.

a. Par la crontab

Le système crontab intégré à unix/linux permet une programmation simple de l'exécution de commandes et scripts.

Modification de la crontab

  • Si la crontab de l'utilisateur existe, on la redirige vers un fichier
crontab -l > cron
On évite systématiquement l'édition par la commande crontab -e, parce que la perte de 50 lignes de programmation sur un serveur de production, ça fait toujours chaud aux oreilles !
nano cron
23 8,12,15,18 1-5 * * sh /home/johnny/getip
# à 08:23 12:23 15:23 et 18:23, du 1er au 5ème jour de la semaine
# parce que les soirs et week-end je suis à la maison
# et que c'est encore plus simple de récupérer mon IP

Injection des modifications de la crontab

  • Créer le fichier cron ne suffit pas, il faut encore l'injecter dans le système crontab :
crontab ~/cron
Vérification de la crontab
crontab -l
...
23 8,12,15,18 1-5 * * sh /home/johnny/getip
...

FIXME (23 8,12,15,18 1-5 * *) donne bien les jours 1 à 5 dans la semaine alors que (23 8,12,15,18 * * 1-5) donne les jours 1 à 5 du mois

Nettoyage
  • Pas de raison de laisser traîner son cron derrière soi, puisqu'on sait le recréer à volonté
rm ~/cron

b. Par autre chose que la crontab ...

Partie à compléter
Remarques :
  • Si l'envoi répété de l'IP sature votre boîte de courriel, à vous de modifier la programmation.
Contributeurs

kerkael création de la page le 23/08/2009

  • tutoriel/comment_envoyer_l_ip_de_sa_box_automatiquement_par_courriel.1251405460.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)