Script Bash pour récuperer seulement l'adresse IP - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 06-07-2012 à 11:46:12
En gros, le nom du fichier doit renvoyer l'adresse IP de la machine.
ftp 10.*.*.* <<END
user Root MDP
put /tmp/SauvegardeMSQL.tar /ServeurFTP/nomdufichier.tar
avec nomdufichier= adresse IP de la machine.
Auriez vous une idée ?
Merci :-)
Marsh Posté le 06-07-2012 à 12:08:43
Et avec le nom de la machine, ce ne serait pas plus simple ?
nomdufichier= nomdelamachine.
Marsh Posté le 06-07-2012 à 12:21:19
Je viens de faire un test, en effet, avec la variable $HOSTNAME, ça
marche bien.
hostname=$HOSTNAME
ftp 10.*.*.* <<END
user Root MDP
put /tmp/SauvegardeMSQL.tar /ServeurFTP/$hostname.tar
Mais je prefererai avec l'adresse IP.
Personne a une idée ?
Merci.
Marsh Posté le 06-07-2012 à 13:04:14
`dig +short $HOSTNAME` ?
Marsh Posté le 06-07-2012 à 13:23:06
ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' |
Marsh Posté le 06-07-2012 à 13:30:23
Si ta machine est dans le DNS tu peux aussi faire :
Code :
|
Marsh Posté le 06-07-2012 à 13:52:50
Merci beaucoup les amies, o'gure comment implanter ta ligne de commande dans mon script ?
hostname=$HOSTNAME
ftp 10.*.*.* <<END
user Root MDP
put /tmp/SauvegardeMSQL.tar /ServeurFTP/$hostname.tar
Encore merci Missardonik, o'gure, nukolau.
Marsh Posté le 06-07-2012 à 13:56:36
jadakiss a écrit : o'gure comment implanter ta ligne de commande dans mon script ? |
Avec des quotes inversés
hostname=`ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` |
Marsh Posté le 06-07-2012 à 14:52:50
Mouais, balancer une commande FTP dans un script, pourquoi pas. Perso j'utiliserais curl pour le faire
Ce qui donnerait (au complet si on veut faire une backup d'une base MySQL) :
Citation :
|
(bon c'est fait à l'arraché, y'a sûrement moyen de faire en 3 lignes...)
Marsh Posté le 06-07-2012 à 15:11:59
o'gure, pourrais-tu m'expliquer la partie | cut -d: -f2 | awk '{ print $1}'`
Merci.
Marsh Posté le 06-07-2012 à 15:13:25
bardiel, oui en effet, c'est aussi une possibilité, merci ;-)
Marsh Posté le 06-07-2012 à 15:47:14
jadakiss a écrit : |
hostname= -> dans la variable (locale) hostname
ifconfig eth0 -> je veux toutes les infos concernant la carte eth0
grep 'inet addr:' -> on recherche la position de "inet addr:", qui correspond à la ligne où se trouve ton adresse IP
cut -d: -f2 -> là on récupère en utilisant le séparateur ":" (situé à "inet addr:" ) au 2ème champs (donc on ne récupère pas les espaces, qui ne nous servent pas)
awk '{ print $1}' -> on imprime le résultat.
Bref ça pourrait se traduire par :
Je veux les infos concernant la carte réseau filaire n°0, dans ces infos je veux récupérer à partir de "inet addr:" le champs affiché et je veux le mettre dans la variable hostname.
Marsh Posté le 06-07-2012 à 10:29:26
Bonjour à tous ,
Je cherche une ligne de commande en BASH qui me permettrait de récuperer seulement l'adresse ip de ma machine linux,
Je m'explique, le but etant d'envoyer des fichiers qui a pour nom l'adresse IP de la machine, afin de les envoyer en FTP sur un serveur Filezilla, et ceux pour une question d'organisation des fichiers .
Merci pour vos lumières .