Escribir un script de gestión remota

Escribir un script de gestión remota

Necesito poder ejecutar localmente un script que se conecte a varios servidores y ejecute comandos en ellos. Cuál es la mejor manera de lograr esto?

Respuesta1

Personalmente yo usaríaCapistrano. Es amigable y está escrito en Ruby y ellos ya hicieron todo el trabajo pesado por usted.

De Wikipedia:

Capistrano es una utilidad y un marco para ejecutar comandos en paralelo en múltiples máquinas remotas, a través de SSH.

Respuesta2

puedes ejecutar un comando usando ssh hostname command. Si tiene un script completo que necesita ejecutar, primero use scp para transferirlo al host remoto y luego ssh para ejecutarlo.

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

Respuesta3

¿Qué pasa con el uso de la gestión de configuración comomarionetaococinero? Esto quizás sea un poco exagerado para un solo script, pero si necesita varios scripts de este tipo, podría valer la pena considerarlo.

Respuesta4

Un bucle rápido 'for' de bash podría ser más fácil, tal vez algo como:

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

Por supuesto, cfengine/puppet/chef/capistrano son mejores opciones de gestión de configuración. Si desea enviar comandos de forma interactiva a los distintos shells, clusterm (http://sourceforge.net/projects/clusterm/) también es una buena opción.

información relacionada