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.