4 herramientas útiles para ejecutar comandos en múltiples servidores de Linux

4 herramientas útiles para ejecutar comandos en múltiples servidores de Linux

En este artículo, mostraremos cómo ejecutar comandos en múltiples servidores de Linux al mismo tiempo. Explicaremos cómo usar algunas de las herramientas ampliamente 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 generalmente tienen que verificar la salud de múltiples servidores de Linux todos los días.

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

Leer también: Cómo configurar las conexiones SSH personalizadas para simplificar el acceso remoto

1. PSSH - paralelo SSH

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

Instalar paralelo-ssh, primero necesitas instalar PEPITA En su sistema Linux.

$ sudo apt install python-pip python-setuppools #Debian/ubuntu #yum install python-pip python-setuptools #rhel/centos #dnf install python-pip python-setuptools #fedora 22+ 

Luego instalar paralelo-ssh usando pepita como sigue.

$ sudo pip instalación paralelo-ssh 

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

$ Vim Hosts 
PSSH Hosts File
192.168.0.10:22 192.168.0.11:22 192.168.0.12:22 

Guarde el archivo y cierre.

Ahora corre paralelo-ssh, especificar el archivo hosts utilizando el -H Opción y un comando (s) que se ejecutará en todos los servidores especificados. El -i bandera significa pantalla salida de std y Error de ETS A medida que se completa la ejecución del comando en cada servidor.

$ paralelo -ssh -h anfitriones "tiempo de actividad; df -h" 
PSSH Ejecutar comandos en múltiples servidores Linux

También debe consultar: cómo ejecutar múltiples comandos en múltiples servidores de Linux

2. PDSH - Utilidad de shell remota paralela

PDSH es una herramienta de shell remoto paralelo simple de código abierto para ejecutar comandos en múltiples servidores Linux al mismo tiempo. Emplea una ventana deslizante de hilos para ejecutar comandos remotos.

Instalar PDSH En sus máquinas Linux, ejecute el comando apropiado a continuación.

$ sudo apt instalación pdsh #debian/ubuntu #yum instalación pdsh #rhel/centos #dnf install pdsh #fedora 22+ 

Para ejecutar comandos en múltiples servidores, agregue los servidores a un archivo de hosts como se explica anteriormente. Entonces corre PDSH como se muestra; la bandera -w se usa para especificar el archivo hosts y -Riñonal se usa para especificar el módulo de comando remoto (los módulos de comando remotos disponibles incluyen SSH, RSH, EXEC, el valor predeterminado es RSH).

Tome nota del ^ Antes del archivo de hosts.

$ pdsh -w ^hosts -r ssh "tiempo de actividad; df -h" 
PDSH: ejecute comandos en múltiples servidores de Linux

En caso de que no especifique un comando remoto que se ejecute en la línea de comando como se muestra arriba, PDSH se ejecuta de manera interactiva, lo que lo lleva a buscar comandos y ejecutándolos cuando se termina con un retorno de carro. Para obtener más información, consulte la página del hombre PDSH:

$ man pdsh 

3. Clústeres

Clústeres es una herramienta de línea de comando para administrar grupos de múltiples servidores al mismo tiempo. Lanza una consola de administración y una xterm a todos los servidores especificados que le permiten ejecutar el mismo comando en todos ellos.

Usar clústeres, Comience por instalarlo en su computadora Linux local como se muestra.

$ sudo apt instalación clusterssh #Debian/ubuntu #yum instalación clusterssh #rhel/centos $ sudo dnf instalación clusterssh #fedora 22+ 

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

$ Clusterssh Linode Cserver Contabo o $ Clusterssh [correo electrónico protegido] [correo electrónico protegido] [Correo electrónico protegido] 
Clusterssh: administrar múltiples sesiones SSH

Para obtener más información, consulte la página del hombre Clusterssh:

$ hombre clusterssh 

4. Ansible

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

Instalar Ansible En los sistemas Linux, ejecute el comando apropiado a continuación:

$ sudo apt instalación 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/anfitriones.

$ sudo vim/etc/anasible/hosts 

Especificarlos en grupos, e.gramo servidores web.

# Ex 2: Una colección de anfitriones pertenecientes a la 'servidores web' Grupo [servidores web] 139.10.100.147 139.20.40.90 192.30.152.186 

Guarde el archivo y cierre.

Ahora para revisar el tiempo de actividad y usuarios conectados a todos los servidores especificados en el grupo Servidor web, En el archivo de configuración hosts anterior, simplemente ejecute la herramienta de línea de comandos Ansible de la siguiente manera.

El -a Las opciones se usan para especificar los argumentos para pasar al módulo y -u El indicador especifica el valor predeterminado nombre de usuario para conectarse a los servidores remotos a través de SSH.

Tenga en cuenta que la herramienta CLI ansible solo le permite ejecutar como máximo solo un comando.

$ ANSIBLE ANSIBLE -A Admin de "W" -u 
Ansible - Ejecutar comando en múltiples servidores Linux

Eso es todo! En este artículo, hemos explicado cómo ejecutar comandos en múltiples servidores de Linux remotos al mismo tiempo utilizando herramientas ampliamente utilizadas. Si conoce alguna herramienta para el mismo propósito, que no hemos incluido en este artículo, háganos saber a través del formulario de comentarios a continuación.