Use clusterssh: link
Para executar comandos em paralelo, você usa como
cssh user@client1 user@client2
Você obtém uma janela de terminal para cada cliente e uma janela de comando para digitar comandos em qualquer terminal em paralelo.
Existem muitas opções para configurar dentro do diretório ~ / .clusterssh, então é fácil agrupar seus clientes por tags.
Para agrupar clientes de seu host.txt
, o arquivo ~/.clusterssh/tags
pode ter esta aparência:
root@host1 tar update
root@host2 tar update
root@host3 tar test
root@host4 update test
root@host5 update test
Desta forma, você define as tags tar, update e test. Você pode usar a tag tar
para executar clusterssh nos três primeiros hosts executando cssh tar
.
Pesquise na internet por clusterssh
e você encontrará muitos documentos úteis.
A maioria das distribuições Linux contém clusterssh, então você pode instalá-lo facilmente, por exemplo, apt-get install clusterssh
.
Editar:
Você pode adicionar seu comando ao clusterssh para ser executado, use a opção -a
:
cssh tar -a "tar -cvf /tmp/TC.tar.gz /etc"
E se você usar chaves públicas / privadas ssh, não precisará digitar a senha o tempo todo ...