Cuando queremos escribir scripts que realicen alguna tarea automatica como puede ser conectarse a un servidor y escribir la password sin necesidad de que estemos delante, solemos recurrir a la utilidad «expect«. Pero usar expect a priori no es tan simple y requiere de algunos conocimientos, para facilitarnos el trabajo, ahora podemos utilizar tambien expect-lite.
expect-lite es una sencilla herramienta de automatizacion. Escrita en expect, esta deiseñada para mapear directamente una sesion interactiva de la terminal en un script de automatizacion. Basicamente los scripts de automatizacion se pueden crear cortando y pegando el texto de una terminal y añadiendo los caracteres «>» para lo que enviamos y «<" para lo que esperamos. Por lo tanto ningun conocimiento de expect es requerido.
Un ejemplo, para conectarnos a una maquina via ssh y ejecutar un comando remoto podriamos ejecutar el siguiente script:
@ 3
>ssh jose@soledad
<password:
>latengogrande
# issue a command once logged in
>ls
>exit
Si llamamos al script p.ej ssh.elt (.elt por las siglas de expect lite) podriamos ejecutarlo con:
./expect-lite -c ssh.elt
Otro ejemplo, reiniciar el router podria ser algo como:
@ 3
>telnet 192.168.1.1
<login:
>1234
<password:
>6666
>reboot
>exit
Para el interesado, En la web del programa podreis encontrar la documentación y varios ejemplos. Pero ya de partido os comento que es mas sencillo de usar que expect, que es de lo que se trataba.
Gracias por el dato…….
Como siempre aportando luz en la oscuridad … Gracias
Excelente dato, vamos a probarlo con mas frecuencia..
Pués si es de forma sencilla ¡Vale!
¿Por que no escribes uno dedicado al pelotón de los torpes?
¡Auhhhh! Aullaba el lobo.
Ingeniosa contraseña XD
Gracias,
Yo soy el autor de expect-lite. Me alegro de que os sea de utilidad.
Craig…
Muchas gracias, Qué sencillo!!, me ha venido de perlas…
Saludos