Selon les tags présents sur cette page, celle-ci n'a pas été vérifiée pour une des versions LTS supportées d'Ubuntu.

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

0. Pré-requis : savoir envoyer un courriel par SMTP en ligne de commande

1. Envoyer l'IP externe de sa box par courriel dans un script

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

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

  • Modifier le fichier ~/getip pour qu'il intègre la commande msmtp (ou mail) à la dernière ligne:
nano ~/getip
...
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.

2. Automatisation de l'envoi

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 /home/johnny/getip
# à 08:23 12:23 15:23 et 18:23 tous les jours du lundi au vendredi
# 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 /home/johnny/getip
...
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.

Références

Contributeurs

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