#1 Le 12/06/2007, à 18:19
- djpeck
[ RESOLU ] script : obtenir ip publique, enregistrer dans ...
Bonjour,
Je voudrais créer un script sur mon pc pour qu'il récupère lui même son adresse ip publique dynamique et qu'il l'uploade dans un fichier texte sur un ftp, et celà à intervalle régulier (10 minutes par exemple).
Pour récupérer l'ip dynamique j'ai trouvé dans un tutoriel cette commande qui affiche dans la Konsole mon ip publique:
wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1 > ip
cat ip
Comment puis-je réaliser mon script ?
(enregistrer l'ip récupérée par la commande ci - dessus dans un fichier texte et l'uploader sur un ftp)
Merci d'avance !!!
Dernière modification par djpeck (Le 14/06/2007, à 14:37)
Hors ligne
#2 Le 12/06/2007, à 20:08
- Freddy
Re : [ RESOLU ] script : obtenir ip publique, enregistrer dans ...
Visiblement, la première ligne met ton adresse IP dans un fichier (qui se trouve dans le répertoire en cours, et qui s'appelle ip).
Donc, maintenant, le but est de remplacer le «cat ip» par une commande qui envoie ton fichier sur une machine distante. si tu utilises FTP, ce sera probablement avec quelque chose du genre «lftp -f script» où script est un fichier texte contenant :
open -u UTILISATEUR,MOTDEPASSE
send ip
À faire : voir si lftp est installé (je crois qu'il y est pas défaut), lire «man lftp», mettre le fichier «ip» dans un répertoire temporaire, le supprimer après coup.
There is no system but GNU, and Linux is one of its kernels.
Hors ligne
#3 Le 12/06/2007, à 22:16
- djpeck
Re : [ RESOLU ] script : obtenir ip publique, enregistrer dans ...
Merci pour la réponse Freddy
J'ai suivi tes indications et ça fonctionne parfaitement... et ma redirection façon "No-IP" fonctionne à merveille!
Pour info voici le script final :
#!ipSend.sh
clear
while [ true ]; do
wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1 > /var/www/redirection/data/ipTable
lftp ftp://NomUtilisateurFTP:MotDePasseFTP@dude-network.info -e "mirror -R /var/www/redirection/data/ / ; quit"
sleep 10m
done
Hors ligne