Bonjour,
Je débute en bash (je m'y suis mis il y a 15 jours).
A partir d'un serveur, je veux lancer 2 commandes de calcul MD5 de tres gros fichiers sur 2 autres serveurs (en ssh) et récupérer ces MD5 dans des variables pour les comparer.
Si les commandes s'executent en série, je n'ai pas de problème, mais dès que je veux paralleliser les commandes, je me retrouve avec des variables vides, et je n'arrive pas à m'en sortir (j'ai essayer des boucles, des wait etc.)
ceci fonctionne :
ceci ne fonctionne pas (la commande de calcul est bien envoyée à chaque serveur en simultanée, mais les variables MD5blabla restent deseperement vide:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MD5FichierServeurA=$(ssh -l root ipserveurA "md5sum '$CheminFichierSurLeServeurA'") MD5FichierServeurB=$(ssh -l root ipserveurB "md5sum '$CheminFichierSurLeServeurB'")
Certains fichiers pouvant demander pas loin 1/4h de calcul, le lancement en // me ferait gagner pas mal de temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 MD5FichierServeurA=$(ssh -l root ipserveurA "md5sum '$CheminFichierSurLeServeurA'")& MD5FichierServeurB=$(ssh -l root ipserveurB "md5sum '$CheminFichierSurLeServeurB'")& wait
Si quelqu'un sait comment je peux m'en sortir...
Partager