LinuxParty
Si está administrando varios servidores Linux y desea ejecutar varios comandos en todos los servidores Linux, pero no tiene idea de cómo hacerlo. No hay necesidad de preocuparse, en esta sencilla guía de administración de servidores, le mostraremos cómo ejecutar múltiples comandos en múltiples servidores Linux simultáneamente.
Para lograrlo, puede utilizar el programa pssh (parallel ssh) , una utilidad de línea de comandos para ejecutar ssh en paralelo en varios hosts. Con él, puede enviar información a todos los procesos ssh, desde un script de shell.
Requisitos
- 4 herramientas útiles para ejecutar comandos en múltiples servidores Linux
- o también...
- Instale Pssh para ejecutar comandos en varios servidores Linux remotos
Y después.
Crear un script de shell
Por lo tanto, debe comenzar preparando un script que contenga los comandos de Linux que desea ejecutar en los diferentes servidores. En este ejemplo, escribiremos un script que recopilará la siguiente información de varios servidores:
- Comprobar el tiempo de actividad de los servidores
- Comprobar quién ha iniciado sesión y qué está haciendo
- Enumere los 5 principales procesos en ejecución según el uso de la memoria.
Primero cree un script llamado comandos.sh con su editor favorito.
# vi comandos.sh
A continuación, agregue los siguientes comandos al script como se muestra.
#!/bin/bash
############################################## ############################
#Nombre del script: commands.sh
#Descripción: ejecuta múltiples comandos en múltiples servidores
#Autor: Aaron Kili Kisinga
#Correo electrónico: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
############################################## ############################
echo
# mostrar el tiempo de actividad del sistema
uptime
echo
# mostrar quién está conectado y qué está haciendo
who
echo
# mostrar los 5 mejores procesos por uso de RAM
ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head -n 6
exit 0
Guarde el archivo y ciérrelo. Luego haga que el script sea ejecutable como se muestra.
# chmod a+x comandos.sh
Crear archivo de hosts PSSH
A continuación, agregue la lista de servidores en los que desea ejecutar los comandos, en un archivo hosts.txt , en el formato [user@]host[:port]
o simplemente proporcione las direcciones IP del servidor.
Pero le sugerimos que use alias ssh que se pueden especificar en el archivo .ssh/config como se explica en cómo configurar conexiones ssh personalizadas para simplificar el acceso remoto.
Este método es más eficiente y confiable, le permite especificar opciones de configuración (como nombre de host, archivo de identificación, puerto, nombre de usuario, etc.) para cada servidor remoto.
A continuación se muestra nuestro archivo de alias de hosts ssh de muestra, también conocido como archivo de configuración ssh específico del usuario.
# vi ~/.ssh/config
Archivo de alias de hosts SSH
Luego, cree un archivo hosts.txt , aquí simplemente puede especificar los alias (nombres definidos usando la palabra clave Host en el archivo .ssh/config ) como se muestra.
# vi hosts.txt
Agregue los alias del servidor.
servidor1 servidor2 servidor3
Ejecute comandos a través de un script en varios servidores Linux
Ahora ejecute el siguiente comando pssh especificando el archivo hosts.txt junto con el script que contiene varios comandos para ejecutar en varios servidores remotos.
# pssh -h hosts.txt -P -I<./comandos.sh
Significado de las banderas utilizadas en el comando anterior:
-h
– Lee el archivo hosts.-P
– Le dice a pssh que muestre la salida a medida que llega.-I
– Lee la entrada y la envía a cada proceso ssh.
Ejecutar múltiples comandos en servidores remotos
¡Eso es todo! En este artículo, mostramos cómo ejecutar múltiples comandos en múltiples servidores en Linux. Puede compartir cualquier pensamiento relacionado con este tema a través de la sección de comentarios a continuación.
-
Linux
- Predicciones de Linux para 2025
- Elementary OS 8: una distribución de Linux para usuarios de Windows y macOS
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- He utilizado Linux durante 30 años. Aquí hay 5 razones por las que nunca cambiaré a Windows o MacOS
- Montar un directorio remoto, vía NFS, en Linux
- Mis predicciones sobre Linux para 2025: será un buen año
- ¿Por qué Torvalds eliminó a los encargados rusos del mantenimiento del núcleo de Linux?
- 10 cosas que siempre hago después de instalar Linux (y por qué tú también deberías hacerlo)
- 7 cosas que nunca hago después de instalar Linux (y por qué tú tampoco deberías)
- Detección de Intrusos: Snort, Base, MySQL, y Apache2 en Ubuntu Linux 7.10
- ¿Por qué no más personas usan Linux en el escritorio? Tengo una teoría que quizás no te guste.
- Los países occidentales ricos lideran la expansión mundial del petróleo y el gas
- Systemd 256.1 aborda la queja de que 'systemd-tmpfiles' podría eliminar inesperadamente su directorio /home
- Por qué un kernel Linux de distribución 'congelada' no es la mejor opción para la seguridad
- RebornOS es una versión hermosa y fácil de usar de Arch Linux con abundantes opciones de escritorio