Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
tutoriel:comment_envoyer_l_ip_de_sa_box_automatiquement_par_courriel [Le 12/08/2010, 06:25] – Maj Lien lmrv | tutoriel:comment_envoyer_l_ip_de_sa_box_automatiquement_par_courriel [Le 26/02/2020, 21:06] (Version actuelle) – [Par autre chose que la crontab…] 109.89.109.92 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== 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 : [[tutoriel: | ||
+ | |||
+ | ===== Envoyer l'IP externe de sa box par courriel dans un script ===== | ||
+ | ==== Récupérer l'IP externe de sa box ==== | ||
+ | < | ||
+ | * 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. | ||
+ | < | ||
+ | |||
+ | GET bot.whatismyipaddress.com > .myip | ||
+ | echo "" | ||
+ | sleep 1 | ||
+ | GET bot.whatismyipaddress.com >> .myip | ||
+ | echo "" | ||
+ | sleep 1 | ||
+ | GET bot.whatismyipaddress.com >> .myip | ||
+ | echo "" | ||
+ | < | ||
+ | < | ||
+ | 92.122.18.135 | ||
+ | 92.122.18.135 | ||
+ | 92.122.18.135 | ||
+ | |||
+ | ==== Envoyer son IP de box à son courriel au bureau ==== | ||
+ | |||
+ | * Voir le tuto : [[tutoriel: | ||
+ | == par msmtp == | ||
+ | |||
+ | <code bash>cat ~/.myip | msmtp johnny@whitehouse.gov</ | ||
+ | == par ssmtp == | ||
+ | <code bash>cat ~/.myip | mail johnny@whitehouse.gov</ | ||
+ | <note tip>Sans préciser Subject:// | ||
+ | Il faut donc prévoir de le rajouter en tête du fichier ~/ | ||
+ | |||
+ | ==== Compléter le script : récupérer l'IP ET l' | ||
+ | <note warning> | ||
+ | |||
+ | <note warning> | ||
+ | Je compte obtenir l' | ||
+ | |||
+ | * [[: | ||
+ | <code bash> | ||
+ | <file bash> | ||
+ | echo Subject: | ||
+ | GET http:// | ||
+ | echo "" | ||
+ | sleep 1 | ||
+ | GET http:// | ||
+ | echo "" | ||
+ | cat .myip | msmtp johnny@whitehouse.gov</ | ||
+ | |||
+ | * Rendre le script exécutable : | ||
+ | <code bash> | ||
+ | |||
+ | === Utilisation === | ||
+ | |||
+ | * Lancer le script | ||
+ | <code bash>sh ~/ | ||
+ | |||
+ | === Vérification === | ||
+ | |||
+ | * Depuis votre client de messagerie, vérifiez que vous avez bien reçu le message attendu, soit 3 lignes avec l' | ||
+ | |||
+ | === Contenu de .myip === | ||
+ | <code bash>cat .myip</ | ||
+ | < | ||
+ | 86.178.64.39 | ||
+ | |||
+ | 86.178.64.39</ | ||
+ | |||
+ | |||
+ | ===== Automatisation de l' | ||
+ | |||
+ | ==== Par la crontab ==== | ||
+ | |||
+ | Le système [[..\cron|crontab]] intégré à unix/linux permet une programmation simple de l' | ||
+ | |||
+ | === Modification de la crontab === | ||
+ | |||
+ | * Si la crontab de l' | ||
+ | <code bash> | ||
+ | <note important> | ||
+ | * Puis on [[: | ||
+ | <code bash> | ||
+ | 23 8,12,15,18 1-5 * * sh / | ||
+ | # à 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' | ||
+ | < | ||
+ | |||
+ | == Vérification de la crontab == | ||
+ | |||
+ | <code bash> | ||
+ | ... | ||
+ | 23 8,12,15,18 1-5 * * sh / | ||
+ | ... | ||
+ | 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' | ||
+ | <code bash>rm ~/ | ||
+ | ==== Par autre chose que la crontab… ==== | ||
+ | <note tip> | ||
+ | < | ||
+ | **Remarques :** | ||
+ | * Si l' | ||
+ | |||
+ | * Il est possible de créer un fichier .ini dans lequel on stocke l'ip connue, une comparaison avec l'ip courante décidera si il est nécessaire d' | ||
+ | </ | ||
+ | |||
+ | ===== Références ===== | ||
+ | |||
+ | * [[: | ||
+ | |||
+ | |||
+ | ----------- | ||
+ | |||
+ | Contributeurs : |