Pregunta ¿Puedo ejecutar un script de shell bash en muchas máquinas al mismo tiempo?


Me gustaría ejecutar un script de shell bash en dos o más máquinas al mismo tiempo. ¿Puedo ejecutar un script de shell bash en muchas máquinas al mismo tiempo? Coloco este script de shell en centos 5.5 y otras máquinas ejecutan esto simultáneamente.


0


origen


¿Con qué frecuencia se ejecuta esto? ¿Y es importante que funcionen "simultáneamente", o se pueden iniciar con unos segundos de diferencia en cada máquina? - Phil H


Respuestas:


Mi mejor opción sería usar ssh. Para esto, probablemente necesite intercambiar claves entre su máquina maestra (la que alberga el guión original) y sus esclavos (los que se supone que ejecutan el guión). Es decir. necesita hacer ssh-keygen en el maestro y anexar el contenido de ~ / .ssh / id_rsa.pub (o id_dsa.pub) en el maestro a ~ / .ssh / authorized_keys en cada esclavo. Luego puede ejecutar un script sentado en el maestro de cada esclavo así:

ssh remote_user@slave_machine 'bash -s' < local_script.sh

(que es robado de esta respuesta)
Si tiene una lista de máquinas esclavas, puede repetir esto en cada una de ellas, así:

slaves = slaveA slaveB ...
for slave in slaves; do
    ssh remote_user@${slave} 'bash -s' < local_script.sh
done

Espero que ayude.


2