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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Bourne sh] Script

n°1454654
world14
Posté le 03-10-2020 à 11:06:15  profilanswer
 

Bonjour,
 
Je suis "bloqué" avec du sh, mon objectif étant de faire plusieurs Backup à partir d'un Script Bourne shell. Avec la commande send "wr"
 
Plusieurs, Switch = Boucle = While / Do
 
Connexion des équipements -> send 'wr'
 
Voici mon code :
 
PS: si vous avez des solutions basic merci d'avance,
 
Cordialement,
 
Code :
 

Code :
  1. #!/bin/sh
  2. password=@xxxxxxxx
  3. expect << EOF
  4.  
  5.                                 spawn -noecho ssh -q -o StrictHostKeyChecking=no admin@10.XX.XXX.XXXX
  6.                                 expect "Password:"
  7.                                 send "$password\r"
  8.                                 expect "#"
  9.                                 send "wr\r"
  10.                                 expect "#"
  11.                                 send "exit"
  12. EOF
  13. while command-list1
  14. do command-list2
  15. done


 
 
Jusque là, j'arrive à faire un wr sur un commutateur
Mon objectif est de faire la même mais sur plusieurs commutateurs = Une boucle quoi
Si vous avez des idées pour la boucle je suis très nul en boucle..
 
while command-list1
do command-list2
done
___
 
Voici ma commande qui me permet de retrouvé toute les IP des différents commutateurs pour faire leurs sauvegarde.
Je pense que je dois l'intégré dans ma boucle j'imagine  
send "cat /etc/hosts | egrep 'SWci8XX|xxxx|xxx|xxxxx|xxxxx|xxxxxx | ask {print^1}"
}
 
 
 
Cdt,


Message édité par world14 le 03-10-2020 à 11:06:47
mood
Publicité
Posté le 03-10-2020 à 11:06:15  profilanswer
 

n°1454690
Ivy gu
we are legion uwu
Posté le 03-10-2020 à 20:09:59  profilanswer
 

si le but est vraiment juste de sauvegarder des équipements, ça vaut peut-être le coup de regarder oxidized, qui est fait pour ça.


---------------
The Mystery of the Bloomfield Bridge
n°1454691
world14
Posté le 03-10-2020 à 20:43:52  profilanswer
 

Ivy gu a écrit :

si le but est vraiment juste de sauvegarder des équipements, ça vaut peut-être le coup de regarder oxidized, qui est fait pour ça.


 
Cela sauvegarde plusieurs équipement en une seule fois ? :o C'est parfait sinon

n°1454694
Saguu
Posté le 03-10-2020 à 22:27:02  profilanswer
 

Sauvegarde d’équipement Cisco ? Si oui regarde Netmiko côté Python :o

n°1454698
Ivy gu
we are legion uwu
Posté le 03-10-2020 à 23:22:16  profilanswer
 

world14 a écrit :


 
Cela sauvegarde plusieurs équipement en une seule fois ? :o C'est parfait sinon


 
ben oui c'est fait précisément pour ça.


---------------
The Mystery of the Bloomfield Bridge
n°1454699
world14
Posté le 03-10-2020 à 23:31:19  profilanswer
 

Ivy gu a écrit :


 
ben oui c'est fait précisément pour ça.


 
C'est magique alors, je part tout de suite me renseigné, merci à vous tous ! :o

n°1454738
world14
Posté le 05-10-2020 à 17:18:38  profilanswer
 

ReBonjour à Tous, voilà mon problème n'est pas fini,  
Mon tuteur veux que du Script sh pas d'autre chose avec du Rancid ou Python,  
 
Mon objetif est de faire une sauvegarde à partir d'un script, sur plusieurs commutateur depuis un fichier hosts qui renseigne tout les nom des commutateurs avec les ip.  
J'ai essayé de faire quelques choses mais en vain.  
 
Voici mon code :  

Code :
  1. #!/bin/sh
  2. awk '/swdsg22/{print $1}'/etc/hosts | whileread ip; do"$ip";
  3. password=@xxxxxxxx
  4. expect << EOF
  5.  
  6.                                 spawn -noecho ssh -q -o StrictHostKeyChecking=no admin@10.XX.XXX.XXXX
  7.                                 expect "Password:"
  8.                                 send "$password\r"
  9.                                 expect "#"
  10.                                 send "wr\r"
  11.                                 expect "#"
  12.                                 send "exit"
  13. EOF


 
Voici en image le principe :  
https://www.cjoint.com/c/JJfppZBnM0x
 
Le résultat normalement avec plusieurs commut mais là juste un seul marche :  
https://www.cjoint.com/c/JJfprPScdLx
 
Cordialement, Si vous avez des idées ou des solutions plutôt merci d'avance

n°1454778
world14
Posté le 06-10-2020 à 22:47:03  profilanswer
 

PS : Des solutions ?  
 
Merci d'avance, :'(

n°1454868
Mjules
Modérateur
Parle dans le vide
Posté le 10-10-2020 à 15:30:45  profilanswer
 

Si je comprend bien, tu cherches à te connecter successivement à chacun de tes équipements et ensuite à exécuter une commande dessus ?
 
et la liste de tes équipement est dans le fichier hosts ?
 
Dans le code que tu montres, tu ne boucles pas sur les adresses du fichier hosts. Vu qu'à aucun moment tu ne réutilises ta variable $ip.
 
Une boucle de ce genre pourrait fonctionner :
 

Code :
  1. password=ton_pass
  2. while read ligne ; do
  3.     adresse=`awk '/swdsg22/{print $1}' $ligne`
  4.     expect << EOF
  5.                                 spawn -noecho ssh -q -o StrictHostKeyChecking=no admin@$adresse
  6.                                 expect "Password:"
  7.                                 send "$password\r"
  8.                                 expect "#"
  9.                                 send "wr\r"
  10.                                 expect "#"
  11.                                 send "exit"
  12.     EOF
  13. done < /etc/hosts


 
Dans un autre registre, l'échange de clé serait une bonne idée pour éviter le prompt de mot de passe.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1455275
world14
Posté le 21-10-2020 à 10:50:11  profilanswer
 


Bonjour,  
 
Petit problème d'envoi de mail, j'ai bien vérifié que j'utilisé bien la commande mail :  
J’avais réussi à faire la sauvegarde à partir de plusieurs Switch, maintenant je voudrais continuer et de faire un envoie de mail quand toute les sauvegardes on était effectuée  
 
 

Code :
  1. #!/bin/sh
  2. ##########################################
  3. ###       Connexion en mode SSH        ###
  4. ##########################################
  5. password0=@XXXXXXXX!
  6. fichier=/tmp/sauvegarde.txt
  7. #### PASSWORD : @XXXXXX! #####
  8. awk '/SW8X-012SG22|SW8X-022SG22/{print $1}' /etc/hosts | while read ip; do
  9. expect >> $fichier  << EOF
  10.                                 spawn -noecho ssh -q -o StrictHostKeyChecking=no admin@$ip
  11.                                 expect "Password:"
  12.                                 send "$password0\r"
  13.                                 expect "#"
  14.                                 send "wr\r"
  15.                                 expect "#"
  16.                                 send "exit"
  17. ############################################################################
  18. ###        Envoie d'un mail pour plusieurs sauvegardes de Switch         ###
  19. ############################################################################
  20. if [[( $fichier =~ Building configuration... ) && ( $fichier =~ OK  )]]
  21. then
  22.         mail -s "Les switch on etait sauvegarde " ***@***
  23. else
  24.          mail -s "Un probleme a ete decteter durant les sauvegardes" ***@***
  25. fi
  26. EOF
  27. done


Aller à :
Ajouter une réponse
 

Sujets relatifs
Le fichier texte xxx semble être un script exécutable.problème execution script python avec crontab
Script PowerShell téléchargementShell script : utilisation de grep ''sauf si''
Script bash utilisateur ubuntuscript automatisation installation fedora workstation
Script vs shell ... casse tête : )Annulé
Script pour kill automatique les processus qui utilisent 60% du CPUScript de redémararge Wifi
Plus de sujets relatifs à : [Bourne sh] Script


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