EXPECT- Script para ejecutar comandos en forma remota.-

El siguiente ejemplo es un SCRIPT realizado con EXPECT para tomarlo como base para ejecutar script remotos y mostrar el resultado por pantalla. Suponiendo que al script lo grabamos con el nombre remoto.sh, para ejecutarlo sería :

bash remoto.sh “ps -fea | grep componente”

!/bin/bash
HOST="servidor"
USER="usuario"
PASS="password"
CMD=$@
VAR=$(expect -c "
spawn ssh -o StrictHostKeyChecking=no $USER@$HOST $CMD
match_max 100000
expect \"?assword:\"
send -- \"$PASS\r\"
send -- \"\r\"
expect eof
")
echo "==============="
echo "$VAR"

Entre las comillas se debe ingresar el comando que se desee ejecutar en el servidor remoto.-

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

4 respuestas a EXPECT- Script para ejecutar comandos en forma remota.-

  1. Francisco dijo:

    Excelente reseña funciona perfecto lo utilice para realizar monitoreo sobre equipos.

  2. Jaime dijo:

    asi es funciona excelente.

  3. Javier dijo:

    Hola, buen aporte, yo utilice tu shell pero para conectarme a un SFTP, pero no logro ejecutar el comando get para copiar los archivos del servidor remoto a mi servidor local, ¿me pudieras hacer favor de indicarme como se puede hacer?, ya intente de varias formas, pero no lo he logrado. Si se conecta al server remoto.
    VAR=$(expect -c ”
    spawn sftp -o “BatchMode=no” $USER@$HOST “:/ruta/”
    expect -nocase \”?assword:\”
    send — \”$PASS\r\”
    send — \”get archivo.txt\r\”
    send — \”\r\”
    expect eof

    “)
    echo “===============”
    echo “$VAR”
    Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.