Automatizar la ejecución de shell scripts o comandos Linux desde Windows.

Conectarnos a un servidor Linux vía ssh para ejecutar comandos o scripts sh es una tarea muy sencilla si usamos putty. Pero ¿qué sucede si se nos pide crear una tarea programada en Windows que se encargue de ejecutar todos los días un comando específico o un script de Linux? Aunque no es imposible crear un archivo por lotes (.bat) en Windows que use putty para realizar esa tarea lo mejor es usar otra herramienta del mismo creador de putty: plink.

plink es una herramienta de línea de comandos que nos permite a través de ssh establecer conexiones y ejecutar operaciones de manera automatizada.  Para ejemplificar  esto ejecutaremos el comando ls del servidor al que tenemos acceso vía ssh, usando plink desde la línea de comandos.

Descargaremos plink desde la página de descargas y ejecutamos la línea de comandos, después cambiaremos al directorio donde descargamos plink y ejecutaremos lo siguiente:

plink.exe -ssh  -pw NUESTROPASSWORD NUESTROUSUARIO@servidor ls

Si has proporcionado el usuario y password correctos verás en tu ventana que se lista el contenido de tu directorio de usuario de Linux.

Ahora bien,  para automatizar esta tarea podemos crear un archivo por lotes (.bat) donde colocaremos los siguientes comandos:

cd c:\directoriodeplink

plink.exe -ssh  -pw NUESTROPASSWORD NUESTROUSUARIO@servidor ls

Después vamos a ir al programador de tareas de Windows y crearemos una nueva tarea, seleccionando el archivo bat que creamos previamente. Una vez creada la tarea vamos a editar las propiedades de la tarea programada agregando al final del archivo a ejecutar lo siguiente:

> “directorio\archivolog.txt”

de esa manera podremos registrar en un archivo de texto el resultado de la ejecución del comando.

plink-execute-shell

 

*** Importante: No solo comandos pueden ejecutarse, puede además ejecutarse cualquier script de Linux que no requiera intervención del usuario.

Por último, si lo deseas aquí puedes consultar la documentación de plink.

4 Comments

Deja un comentario