Então, eu tenho scriptA que faz:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB faz:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Meu resultado desejado é o scriptA, aguardando o término de todas as instâncias do scriptB antes de prosseguir, o que ocorre atualmente, mas também aguardando os rsyncs em segundo plano das coisas não tão importantes. Esses são arquivos maiores que eu não quero esperar.
Eu li a diferença entre nohup, renown e & e tentei combinações diferentes, mas não estou obtendo o resultado que estou procurando.
Neste ponto, estou bastante perplexo. Qualquer ajuda seria apreciada!
fonte
wait
completo. Embora eu esteja adivinhando o que o OP pretendia fazer era executar os doisrsync
processos em paralelo, o que significaria colocar os dois em segundo plano (com&
) e depois usá -loswait
. De qualquer forma, concordo que essa é a maneira mais direta de corrigir o problema e que eu escolheria com base nas informações da pergunta.