Cette page est en cours de rédaction.
Apportez votre aide…
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
- Voir le tuto : comment_envoyer_un_mail_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
- Voir le tuto : comment_envoyer_un_mail_par_smtp_en_ligne_de_commande
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 !
- Puis on modifie/crée le fichier cron en y ajoutant notre ligne de programmation :
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