Entonces tengo scriptA que hace:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB hace:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Mi resultado deseado es scriptA esperará a que finalicen todas las instancias de scriptB antes de continuar, lo que actualmente hace, sin embargo, también está esperando los rsyncs de fondo de las cosas no tan importantes. Estos son archivos más grandes que no quiero esperar.
He leído Diferencia entre nohup, disown y & e intentado diferentes combinaciones, pero no obtengo el resultado que estaba buscando.
En este punto estoy bastante perplejo. ¡Cualquier ayuda sería apreciada!
fuente
wait
completo. Aunque supongo que lo que el OP quería hacer era ejecutar ambosrsync
procesos en paralelo, lo que significaría ponerlos en segundo plano (con&
) y luego usarloswait
. En cualquier caso, estoy de acuerdo en que esta es la forma más sencilla de solucionar el problema y es la que elegiría en función de la información de la pregunta.