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 :
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'")
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
4
 
MD5FichierServeurA=$(ssh -l root ipserveurA "md5sum '$CheminFichierSurLeServeurA'")&
MD5FichierServeurB=$(ssh -l root ipserveurB "md5sum '$CheminFichierSurLeServeurB'")&
wait
Certains fichiers pouvant demander pas loin 1/4h de calcul, le lancement en // me ferait gagner pas mal de temps.
Si quelqu'un sait comment je peux m'en sortir...