GNU/Linux >> Tutoriales Linux >  >> Linux

Ejecute el comando en varios servidores Linux desde Windows

Aprenda a ejecutar el mismo comando/repetitivo en varios servidores Linux desde la máquina Windows. Este truco utiliza la utilidad "plink" de masilla de línea de comandos.

Una de las principales preocupaciones de los administradores de sistemas es ejecutar el mismo comando repetitivo en varios servidores Linux en infraestructura cuando no hay una herramienta centralizada disponible. En esta publicación, veremos cómo ejecutar un comando en varios servidores Linux de una sola vez. No es necesario guardar la contraseña de su cuenta en ningún lugar e incluso no es necesario tener expect ¡función en su máquina fuente!

Requisito previo

  • Máquina Windows con plink descargado (descargar plink aquí)
  • Los servidores Linux deben ser accesibles desde una máquina con Windows

Cómo hacerlo

plink es una utilidad de línea de comandos de masilla. Usando plink podremos conectarnos al servidor proporcionando IP, nombre de usuario, contraseña en la línea de comando. plink se puede invocar desde un símbolo del sistema en Windows.

C:\Users\noname\Desktop>plink -ssh [email protected] -pw password@123 (hostname; date)
testserver
Tue Nov  1 12:54:33 IST 2016

C:\Users\noname\Desktop>

Vaya al símbolo del sistema de Windows escribiendo cmd en una ventana de ejecución (tecla de Windows + r). Navegue a la carpeta donde se guarda el ejecutable plink y luego escriba el comando plink como se indicó anteriormente.

  • ssh:protocolo para conectar
  • id@IP del servidor
  • pw:contraseña de la cuenta
  • Comandos para ejecutar en el servidor Linux entre llaves.

Así es como funciona plink. Ahora, para ejecutar el mismo comando en varios servidores, vemos el siguiente ejemplo. Nos conectaremos a 3 servidores y ejecutaremos el comando nombre de host y fecha.

Primero, coloque las direcciones IP de los 3 servidores en un solo archivo ip_list.txt . Luego ejecute simple for loop en ese archivo como se muestra a continuación en el símbolo del sistema. Este es un script por lotes muy básico.

C:\Users\noname\Desktop>FOR /F "tokens=1,2* delims=," %G IN (C:\Users\noname\Desktop\ip_list.txt) DO plink -ssh user1@%G -pw password@123 (hostname; date)

testserver
Tue Nov  1 12:54:33 IST 2016

testserver1
Tue Nov  1 12:54:36 IST 2016

testserver2
Tue Nov  1 12:54:39 IST 2016

C:\Users\noname\Desktop>

¡Voila! ¡Toda la salida de comando del servidor está ahí! Comandos ejecutados en todos los servidores de una sola vez.

Esto es muy útil cuando necesita verificar algunas salidas de una sola línea de todos los servidores o si desea ejecutar comandos de actualización de cuenta en todos los servidores a la vez.


Linux
  1. DSH:ejecute un comando de Linux en varios hosts a la vez

  2. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  3. Automatización de comandos en ejecución en Linux desde Windows usando PuTTY

  4. ¿Es mejor un arranque dual o ejecutar una máquina virtual?

  5. Nagios:deshabilite las notificaciones desde la línea de comandos en Windows/Linux

Cómo acceder a las particiones de Linux desde Windows 10

Copie un archivo a varios directorios desde la línea de comandos en Linux

Cómo quitar un comando del historial en Linux

Cómo ejecutar múltiples comandos de Linux en un solo comando

Cómo ejecutar varios comandos de Linux a la vez en la terminal de Linux

Cómo ejecutar el comando SUDO en WinSCP para transferir archivos de Windows a Linux