Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2917 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script Bash pour récuperer seulement l'adresse IP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script Bash pour récuperer seulement l'adresse IP

n°1315584
jadakiss
Posté le 06-07-2012 à 10:29:26  profilanswer
 

Bonjour à tous :hello: ,
 
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 :jap: .

mood
Publicité
Posté le 06-07-2012 à 10:29:26  profilanswer
 

n°1315592
jadakiss
Posté le 06-07-2012 à 11:46:12  profilanswer
 

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 :-)

n°1315593
jadakiss
Posté le 06-07-2012 à 12:08:43  profilanswer
 

Et avec le nom de la machine, ce ne serait pas plus simple ?
 
nomdufichier= nomdelamachine.

n°1315594
jadakiss
Posté le 06-07-2012 à 12:21:19  profilanswer
 

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.

n°1315597
Misssardon​ik
prévisible a posteriori
Posté le 06-07-2012 à 13:04:14  profilanswer
 

`dig +short $HOSTNAME` ? :o


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
n°1315599
o'gure
Modérateur
Multi grognon de B_L
Posté le 06-07-2012 à 13:23:06  profilanswer
 

ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'


Message édité par o'gure le 06-07-2012 à 13:24:11
n°1315600
Nukolau
Posté le 06-07-2012 à 13:30:23  profilanswer
 

Si ta machine est dans le DNS tu peux aussi faire :
 

Code :
  1. host $HOSTNAME | awk '{print $NF}'

n°1315602
jadakiss
Posté le 06-07-2012 à 13:52:50  profilanswer
 

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.

n°1315603
o'gure
Modérateur
Multi grognon de B_L
Posté le 06-07-2012 à 13:56:36  profilanswer
 

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}'`
ftp 10.*.*.* <<END
user Root MDP
put /tmp/SauvegardeMSQL.tar /ServeurFTP/$hostname.tar

n°1315604
jadakiss
Posté le 06-07-2012 à 14:02:08  profilanswer
 

Super, un grand merci à vous !!!

mood
Publicité
Posté le 06-07-2012 à 14:02:08  profilanswer
 

n°1315616
bardiel
Debian powa !
Posté le 06-07-2012 à 14:52:50  profilanswer
 

Mouais, balancer une commande FTP dans un script, pourquoi pas. Perso j'utiliserais curl pour le faire [:haha cosmoschtroumpf]
Ce qui donnerait (au complet si on veut faire une backup d'une base MySQL) :

Citation :


hostname=`ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
mysqldump -u user -p password [databasename] > temporaire.sql
tar -zcvf hostname.tar.gz temporaire.sql
curl -u user:passwd -T hostname.tar.gz ftp://mon_ftp.com/backupsql/
rm -f hostname.tar.gz temporaire.sql


(bon c'est fait à l'arraché, y'a sûrement moyen de faire en 3 lignes...)


Message édité par bardiel le 06-07-2012 à 14:53:28

---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
n°1315622
jadakiss
Posté le 06-07-2012 à 15:11:59  profilanswer
 


o'gure, pourrais-tu m'expliquer la partie | cut -d: -f2 | awk '{ print $1}'`
Merci.

n°1315623
jadakiss
Posté le 06-07-2012 à 15:13:25  profilanswer
 

bardiel, oui en effet, c'est aussi une possibilité, merci ;-)

n°1315627
bardiel
Debian powa !
Posté le 06-07-2012 à 15:47:14  profilanswer
 

jadakiss a écrit :


o'gure, pourrais-tu m'expliquer la partie | cut -d: -f2 | awk '{ print $1}'`
Merci.


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.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
n°1317848
jadakiss
Posté le 16-08-2012 à 09:22:26  profilanswer
 

Merci pour vos réponses, c'est super !!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script Bash pour récuperer seulement l'adresse IP

 

Sujets relatifs
Plus de réseau VMware quand je met une IP fixe, merci pour votre aide.(résolu) test sur un entier en bash (très simple)
Message JAVA SCRIPT qui me bloque FirefoxTableau contenant des variables - Script bash
Lancement script au démarrage + anti crash[Install Party] IP du 31 mars 2012 à Nantes
[POSTFIX] Rediriger Mailer-Daemon vers un script phpComment récupérer mon site wordpress
Plus de sujets relatifs à : Script Bash pour récuperer seulement l'adresse IP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR