DSH – Ejecución remota de comandos en un conjunto de máquinas

DSH es una herramienta para linux que sirve para ejecutar comandos de forma remota en un conjunto de máquinas.
Para instalar DSH tenemos que ejecutar en la terminal: apt-get install dsh
La configuración de DSH se guarda en un conjunto de ficheros que se encuentran en /etc/dsh:

  • El fichero dsh.conf contiene la configuración de dsh.
  • El fichero machines.list contiene una lista de todas las máquinas sobre las que el comando actuará cuando especifiquemos la opción -a.
  • El directorio group contiene un enlace llamado all que apunta al fichero machines.list. Además, dentro de este directorio podremos crear grupos de máquinas en diferentes ficheros que contendrán una por línea, a los que podremos referirnos si utilizamos el comando con el parámetro –group.

En el archivo de configuración dsh.conf podremos elegir qué shell queremos usar: “rsh”, “remsh” o “ssh”
Podemos crear grupos de maquinas creando en el directorio group un fichero con el listado de nombres o IP’s de las máquinas que queremos que conformen el grupo. Una por linea.
Por ejemplo, creamos el fichero maquinas-virtuales en /etc/dsh/group y dentro del fichero escribimos los nombres o direcciones IP:

Para ejecutar un comando en un grupo de maquinas utilizamos la opción: -g nombre-del-grupo

Además, podremos elegir si queremos que se ejecute un comando shell en cada máquina y que se espere a que finalice la ejecución antes de pasar a la siguiente máquina, mediante la opción: -w

También podemos hacer que la ejecución en diferentes máquinas se ejecute de forma concurrente mediante la opción: -c

Ejemplos:

  • Ejecución al grupo all:

– dsh -a uname

  • Ejecución del comando en una máquina concreta:

– dsh -m 192.168.1.46 uname

  • Ejecución del comando a un grupo de máquinas:

– dsh -g maquinas-virtuales uname

  • Ejecución del comando a un grupo de máquinas de forma concurrente:

– dsh -c -g maquinas-virtuales uname
 
Fuente: enavas.blogspot.com.es