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
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
Envoyer l'IP externe de sa box par courriel dans un script
Récupérer l'IP externe de sa box
GET whatismyip.fr/raw/
- 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.fr/raw/ > .myip echo "" >> .myip sleep 1 GET whatismyip.fr/raw/ >> .myip echo "" >> .myip sleep 1 GET whatismyip.fr/raw/ >> .myip echo "" >> .myip
sh ~/getip
cat ~/.myip
92.122.18.135 92.122.18.135 92.122.18.135
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
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
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.fr/raw/ >> .myip echo "" >> .myip sleep 1 GET whatismyip.fr/raw/ >> .myip echo "" >> .myip sleep 1 GET whatismyip.fr/raw/ >> .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.
Automatisation de l'envoi
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 * * 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 ...
(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
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