LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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

Y después.

  1. Debe utilizar la autenticación sin contraseña SSH para todos los servidores remotos.

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.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías