Escreva um script de gerenciamento remoto

Escreva um script de gerenciamento remoto

Preciso executar localmente um script que se conecte a vários servidores e execute comandos neles. Qual é o melhor jeito de concluir isso?

Responder1

Pessoalmente, eu usariaCapistrano. É amigável e escrito em Ruby e eles já fizeram todo o trabalho pesado para você.

Da Wikipédia:

Capistrano é um utilitário e framework para execução de comandos em paralelo em múltiplas máquinas remotas, via SSH.

Responder2

você pode executar um comando usando ssh hostname command. Se você tiver um script inteiro que precisa executar, primeiro use scp para transferi-lo para o host remoto e depois ssh para executá-lo.

scp script.sh host:script.sh
ssh host ./script.sh

Responder3

Que tal usar o gerenciamento de configuração comofantocheouchefe de cozinha? Talvez isso seja um pouco exagerado para apenas um script, mas se você precisar de vários desses scripts, talvez valha a pena considerar.

Responder4

Um loop 'for' rápido pode ser mais fácil, talvez algo como:

for h in host1 host2 host3
do 
   echo $h
   ssh user@$h "ps -ef"
done

Claro, cfengine/puppet/chef/capistrano são melhores opções de gerenciamento de configuração. Se você quiser enviar comandos interativamente para vários shells, clusterm (http://sourceforge.net/projects/clusterm/) também é uma escolha sólida.

informação relacionada