4 herramientas útiles para ejecutar comandos en varios servidores Linux

4 herramientas útiles para ejecutar comandos en varios servidores Linux

En este artículo, mostraremos cómo ejecutar comandos en varios servidores Linux al mismo tiempo. Explicaremos cómo utilizar algunas de las herramientas más conocidas diseñadas para ejecutar series repetitivas de comandos en múltiples servidores simultáneamente. Esta guía es útil para los administradores de sistemas que normalmente tienen que comprobar el estado de varios servidores Linux todos los días.

Para el propósito de este artículo, asumimos que ya tiene una configuración SSH para acceder a todos sus servidores y, en segundo lugar, al acceder a varios servidores simultáneamente, es apropiado configurar SSH sin contraseña basada en claves en todos sus servidores Linux. Esto sobre todo mejora la seguridad del servidor y también permite la facilidad de acceso.

Lea también. Cómo configurar conexiones SSH personalizadas para simplificar el acceso remoto

1. PSSH-Parallel SSH

Parallel-SSH es un kit de herramientas de Python de código abierto, rápido y fácil de usar basado en la línea de comandos para ejecutar ssh en paralelo en varios sistemas Linux. Contiene una serie de herramientas para diversos fines, como paralelo-ssh. paralelo-scp, paralelo-rsync. paralelo-slurp. y paralelo-nuke. (lea la página de manual de una herramienta en particular para obtener más información).

Para instalar paralelo-ssh. primero debe instalar PIP. en su sistema Linux.

$ sudo apt install python-pip python-setuptools # Debian/Ubuntu # yum install python-pip python-setuptools # RHEL/CentOS # dnf install python-pip python-setuptools #Fedora 22+ freestar.config.enabled_slots.push

Luego instala paralelo-ssh. usando pip. de la siguiente manera.

$ sudo pip install paralel-ssh

A continuación, ingrese los nombres de host o las direcciones IP del servidor Linux remoto con puerto SSH en un archivo llamado hosts. (puede nombrarlo lo que quieras):

$ vim aloja hosts pssh archivo 192.168.0.10:22 192.168.0.11:22 192.168.0.12:22

Guarde el archivo y ciérrelo.

Ahora ejecute paralelo-ssh. especifique el archivo de hosts usando la opción-h y un comando (s) que se ejecutarán en todos los servidores especificados. El indicador-i significa mostrar salida estándar. y error estándar. a medida que se completa la ejecución del comando en cada servidor.

$ paralelo-ssh-h hosts “uptime; df-h “ Pssh Ejecute comandos en varios servidores Linux  Pssh Ejecutar comandos en varios servidores Linux Pssh Ejecutar comandos en varios servidores Linux

También debería consultar: Cómo ejecutar varios comandos en varios servidores Linux

2. Pdsh-Utilidad de shell remoto paralelo

Pdsh. es una sencilla herramienta de shell remoto paralelo de código abierto para ejecutar comandos en varios servidores Linux al mismo tiempo. Emplea una ventana deslizante de subprocesos para ejecutar comandos remotos.

Para instalar Pdsh. en sus máquinas Linux, ejecute el comando apropiado a continuación.

$ sudo apt install pdsh # Debian/Ubuntu # yum install pdsh # RHEL/CentOS # dnf install pdsh #Fedora 22+

Para ejecutar comandos en varios servidores, agregue los servidores a un archivo de hosts como se explicó anteriormente. Luego ejecute pdsh. como se muestra; el indicador-w se usa para especificar el archivo de hosts, y-R se usa para especificar el módulo de comando remoto (los módulos de comando remoto disponibles incluyen ssh, rsh, exec, el valor predeterminado es rsh).

Tome nota del ^ antes del archivo hosts.

$ pdsh-w ^ hosts-R ssh “tiempo de actividad; df-h”  pdsh-Ejecutar comandos en varios servidores Linux pdsh-Ejecutar comandos en varios servidores Linux pdsh-Ejecutar comandos en varios servidores Linux

En caso de que no especifique un comando remoto para que se ejecute en la línea de comandos como se muestra arriba, pdsh. se ejecuta interactivamente, solicitándole comandos y ejecutándolos cuando terminan con un retorno de carro. Para obtener más información, consulte la página de manual de pdsh:

$ man pdsh

3. ClusterSSH

ClusterSSH. es una herramienta de línea de comandos para administrar clústeres de varios servidores al mismo tiempo. Lanza una consola de administración y un xterm. a todos los servidores especificados, lo que le permite ejecutar el mismo comando en todos ellos.

Para usar clusterssh. inicie instalándolo en su computadora Linux local como se muestra.

$ sudo apt install clusterssh # Debian/Ubuntu # yum install clusterssh # RHEL/CentOS $ sudo dnf install clusterssh #Fedora 22+

Ahora que lo tiene instalado, abra una consola de administración y un xterm. en servidores remotos a la vez, como se indica a continuación. Para ejecutar un comando en todos los servidores, haga clic en en la barra de entrada de xterm y escriba su comando; para administrar un solo host, use su consola de administración.

$ clusterssh linode cserver contabo OR $ clusterssh [email protected] [email protected] [email protected]  Clusterssh-Administrar múltiples sesiones SSH Clusterssh: administrar varias sesiones SSH Clusterssh: administrar varias sesiones SSH

Para obtener más información, consulte la página de manual de clusterssh:

$ man clusterssh

4. Ansible

Ansible es una herramienta popular y de código abierto para automatizar los procesos de TI. Se utiliza para configurar y administrar sistemas, implementar aplicaciones y mucho más.

Para instalar Ansible. en sistemas Linux, ejecute el comando apropiado a continuación:

$ sudo apt install ansible # Debian/Ubuntu # yum install ansible # RHEL/CentOS $ sudo dnf install ansible #Fedora 22+

Una vez que haya instalado ansible. puede agregar los nombres de host o direcciones IP de su servidor en el archivo /etc/anasible/hosts.

$ sudo vim/etc/anasible/hosts

Especifíquelos en grupos, por ejemplo, servidores web.

# Ej 2: Una colección de hosts que pertenecen al grupo ‘webservers’. [webservers] 139.10.100.147 139.20.40.90 192.30.152.186

Guarde el archivo y ciérrelo.

Ahora para verificar el tiempo de actividad. y los usuarios conectados a todos los servidores especificados en el grupo servidor web. en el archivo de configuración de hosts anterior, simplemente ejecute la herramienta de línea de comando ansible de la siguiente manera.

La-a options se usa para especificar los argumentos a pasar al módulo y la bandera-u especifica el nombre de usuario. predeterminado para conectarse a los servidores remotos a través de SSH.