Como posso emitir comandos paralelos para nós remotos com argumentos diferentes?

4

Eu preciso executar um aplicativo em paralelo em vários servidores Ubuntu, fornecendo diferentes argumentos para diferentes servidores. Eu tentei google, mas não consegui chegar à solução possível. Eu até experimentei o ssh / pdsh / parallel, mas sem sucesso.

Para explicar melhor o cenário, aqui está um exemplo que não funciona (com pdsh ), em que script.sh deve ser executado em todos os três servidores em paralelo, mas com argumentos diferentes. FYI, eu já tenho ssh-chave pública / privada (login sem senha) no lugar.

pdsh -w server1,server2,server3 -l username script.sh args

Onde args deve ser 1 para o servidor1, 2 para o servidor2 etc.

Gostaria que alguém me ajudasse a conseguir isso, usando pdsh ou alguma outra ferramenta disponível no Ubuntu.

    
por Sachin 22.09.2013 / 08:50

1 resposta

3

Você pode usar a versão GNU do paralelo

Por exemplo, para chamar echo com os argumentos 1 a 10 , despachando cada comando echo para um dos server.example.com ou server2.example.net :

seq 10 | parallel --sshlogin server.example.com,server2.example.net echo
    
por 22.09.2013 / 10:15