A voir également:
- Bournesh
- Freebox redémarre en boucle ✓ - Forum Freebox
- Boucle excel sans macro - Forum Excel
- Boucle cmd - Forum Programmation
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Sh pause ✓ - Forum Shell
9 réponses
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
21 oct. 2020 à 14:34
21 oct. 2020 à 14:34
Bonjour,
Attention dans ton second message tu avais laissé les mots de passe (d'où l'intérêt d'utiliser autant que possible des clés ssh quand c'est possible). D'ailleurs il n'y a plus de commande
Assure-toi que tu parviens, depuis ton terminal à envoyer un mail avec la commande
Bonne chance
Attention dans ton second message tu avais laissé les mots de passe (d'où l'intérêt d'utiliser autant que possible des clés ssh quand c'est possible). D'ailleurs il n'y a plus de commande
Assure-toi que tu parviens, depuis ton terminal à envoyer un mail avec la commande
Bonne chance
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
Modifié le 7 oct. 2020 à 12:24
Modifié le 7 oct. 2020 à 12:24
Bonjour,
À mon avis tu devrais regarder comment faire ça en
De plus, utiiser
Cela me permet d'embrayer sur le point suivant. C'est une très mauvaise idée d'ouvrir les connexion en root sur un serveur ssh. C'est en effet un login présent sur toutes les machines linux et donc classiquement attaqué. C'est pourquoi par défaut, les configurations modernes du serveur ssh empêche root de se connecter. Beaucoup plus prorpre : définis un utilisateur (e.g.
Par ailleurs, je ne vois aucune bonne raison d'utiliser l'option
Bonne chance
À mon avis tu devrais regarder comment faire ça en
parallel-sshce sera beaucoup plus simple et beaucoup plus propre. Tu peux notamment te référer à ce tutoriel.
De plus, utiiser
/etc/hostsn'est pas la meilleure des idées, car ce fichier référence en général des machines autres que tes commutateurs (ne serait-ce que l'alias
localhost), donc d'un point de vue design, il vaudrait mieux utiliser un fichier dédié, même si ce fichier à part entière ressemble beaucoup à
/etc/hosts. Si tu te réfères au tutoriel précédent, tu verras en outre qu'il contient le login ssh à utiliser.
Cela me permet d'embrayer sur le point suivant. C'est une très mauvaise idée d'ouvrir les connexion en root sur un serveur ssh. C'est en effet un login présent sur toutes les machines linux et donc classiquement attaqué. C'est pourquoi par défaut, les configurations modernes du serveur ssh empêche root de se connecter. Beaucoup plus prorpre : définis un utilisateur (e.g.
backup) sur tes commutateurs, installe la clé ssh du serveur mettre qui va utiliser parallel-ssh dans le compte
backupde chaque commutateur (voir
ssh-copy-id) et fais en sorte que l'utilisateur
backupait sur chaque machine des droits minimaux et suffisants pour faire ce qu'il à faire, quitte à en faire un sudoer (mais à mon avis, c'est excessif pour faire un backup).
Par ailleurs, je ne vois aucune bonne raison d'utiliser l'option
-o StrictHostKeyChecking=no, donc je la supprimerais. Il faudra juste te connecter une première fois à chaque machine à la main, le temps qu'elle soit ajoutée à ton
~/.ssh/known_hosts. C'est normalement une étape de vérfication que tu n'es pas sensé automatiser. Elle te permet de contrôler l'empreintes du serveurs auquel tu te connectes (et donc t'assurer que ta connexion n'a pas été détournée). Plus de détails ici.
Bonne chance
Bonjour,
Merci de ta réponse rapide, je voulais juste un script basique qui sauvegarde les commutateurs à partir du fichier
Serait-il possible de faire un envoie de mail après une sauvegarde, :
SW.......#wr
Building configuration... -> Si ça m'affiche les deux lignes [Build.., [OK]], alors je peux envoyer un mail de confirmation
[OK]
Mail du genre : Le commutateur SW... a été sauvegardé avec succès.
C'est possible de faire ça ?
Je t'envoie quand même le résultat de mon premier Script, si tu veux l'utiliser un jour :
Merci de ta réponse rapide, je voulais juste un script basique qui sauvegarde les commutateurs à partir du fichier
/etc/hosts, tout simplement. J'ai réussi à faire le script. Tu m'excuses si je n'ai pas suivi tes conseils pour faire le Script, mais j'en ai quand même tenu compte.
Serait-il possible de faire un envoie de mail après une sauvegarde, :
SW.......#wr
Building configuration... -> Si ça m'affiche les deux lignes [Build.., [OK]], alors je peux envoyer un mail de confirmation
[OK]
Mail du genre : Le commutateur SW... a été sauvegardé avec succès.
C'est possible de faire ça ?
Je t'envoie quand même le résultat de mon premier Script, si tu veux l'utiliser un jour :
#!/bin/sh password0=XXXXX password1=YYYYYY #### PASSWORD : XXXXX ##### awk '/XXXX|XXXX|XX|XX|XXXXXX|XX|XX/{print $1}' /etc/hosts | while read ip; do expect << EOF spawn -noecho ssh -q -o StrictHostKeyChecking=no xxx@$ip expect "Password:" send "$password0\r" expect "#" send "wr\r" expect "#" send "exit" EOF done #### PASSWORD : YYYY #### awk '/yyyy|yyyy|yy|yyy/{print $1}' /etc/hosts | while read i; do expect << EOF spawn -noecho ssh -q -o StrictHostKeyChecking=no yyyy@$i expect "Password:" send "$password1\r" expect "#" send "wr\r" expect "#" send "exit" EOF done #### CONNEXION TELNET POUR UN ROUTEUR#### expect << EOF spawn telnet -l admin XX.XX.XXX.XXX expect "Username:" send "admin\r" expect "Password:" send "$password0\r" expect "#" send "wr\r" expect "#" send "exit" EOF done
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
9 oct. 2020 à 20:25
9 oct. 2020 à 20:25
Bonjour,
Oui c'est possible avec la commande
Bonne chance
Oui c'est possible avec la commande
Bonne chance
Bonjour,
Petit problème d'envoie de mail, j'ai bien vérifié que j'utilisé bien la commande mail :
Petit problème d'envoie de mail, j'ai bien vérifié que j'utilisé bien la commande mail :
#!/bin/sh ########################################## ### Connexion en mode SSH ### ########################################## password0=@XXXXXXXX! fichier=/tmp/sauvegarde.txt #### PASSWORD : @XXXXXX! ##### awk '/SW8X-012SG22|SW8X-022SG22/{print $1}' /etc/hosts | while read ip; do expect >> $fichier << EOF spawn -noecho ssh -q -o StrictHostKeyChecking=no admin@$ip expect "Password:" send "$password0\r" expect "#" send "wr\r" expect "#" send "exit" ############################################################################ ### Envoie d'un mail pour plusieurs sauvegardes de Switch ### ############################################################################ if [[( $fichier =~ Building configuration... ) && ( $fichier =~ OK )]] then mail -s "Les switch on etait sauvegarde " ***@*** else mail -s "Un probleme a ete decteter durant les sauvegardes" ***@*** fi EOF done
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
EDIT : ce que j'ai fais :
#!/bin/sh ########################################## ### Connexion en mode SSH ### ########################################## password0=@XXXXXXX fichier=/tmp/sauvegarde.txt awk '/SW8X-012SG22|SW8X-022SG22/{print $1}' /etc/hosts | while read ip; do expect >> $fichier << EOF spawn -noecho ssh -q -o StrictHostKeyChecking=no admin@$ip expect "Password:" send "$password0\r" expect "#" send "wr \r" expect "#" send "exit" EOF nom=$(grep ^wr $fichier) ######################################################################## ### Envoie d'un mail pour plusieurs sauvegardes de Switch ### ######################################################################## if [[ $fichier =~ OK ]] then echo $ip : Ok rm $fichier else echo $ip : Non Ok # rm $fichier fi done
Ah oui, merci beaucoup désolé ^^ Alors ma question :
Quand je sauvegarde wr, -> Création du fichier sauvegarde -> Je récupère le
-> Résultat du script = :
Je ne comprends pas pourquoi je n'ai pas :
Ensuite un
Je ferais la commande
Cdt,
Quand je sauvegarde wr, -> Création du fichier sauvegarde -> Je récupère le
OKdans mon fichier (
if [[ $fichier =~ OK ]])
-> Résultat du script = :
Non okSG22#wr.
Je ne comprends pas pourquoi je n'ai pas :
SW8X-012SG22 : Ok.
Ensuite un
rmdu fichier sauvegarde pour avoir l'autre, en fait, ça fais comme une boucle mais j'ai pas le bon résultat. Si tu vois pourquoi.
Je ferais la commande
Cdt,
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
21 oct. 2020 à 17:56
21 oct. 2020 à 17:56
Bonjour,
Si j'ai bien compris le
Bonne chance
Si j'ai bien compris le
OKest dans le fichier. Or ton test
if [[ $fichier =~ OK ]]porte sur le nom du fichier et non son contenu (que tu pourrais récupérer avec
`cat "$fichier"`.
Bonne chance
Dernière question après je stop ^^'
Quand je lance mon Script :
OK : SW8X-012SG22#wr
OK : SW8X-022SG22#wr
Je ne veux pas #wr
voici mon code nom=$(grep wr $fichier)
J'ai essayé avec tr et sed mais je n'y arrive pas ...
Quand je lance mon Script :
OK : SW8X-012SG22#wr
OK : SW8X-022SG22#wr
Je ne veux pas #wr
voici mon code nom=$(grep wr $fichier)
J'ai essayé avec tr et sed mais je n'y arrive pas ...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
22 oct. 2020 à 10:58
22 oct. 2020 à 10:58
Salut,
;-)
$ cat f2
OK : SW8X-012SG22#wr
OK : SW8X-022SG22#wr
$ sed '/wr/{s/#.*//}' f2
OK : SW8X-012SG22
OK : SW8X-022SG22
$ grep -Po '\K.*(?=#)' f2
OK : SW8X-012SG22
OK : SW8X-022SG22
;-)