ssh trava se a máquina remota estiver desligada

1

Eu quero registrar o status de uma interface específica em minha máquina remota periodicamente. O código a seguir faz o trabalho.

#!/bin/bash
while [ "1" ]
do
    ifconfig usb0 &>/dev/null
    if [ "$(echo $?)" == "0" ]
    then
        sshpass -p passwd ssh -o ConnectTimeout=5 [email protected] ifconfig wave-data
    else
        echo "usb0 disconnected"
    fi
    sleep 0.2
done

A máquina remota está conectada através da interface usb0. Eu quero que este código seja robusto. Então, eu estou testando com freqüência desligando e ligando a minha máquina remota. O problema é, por vezes, quando eu desligar a máquina, o código preso e não está imprimindo nada. Eu suponho que se o ssh for interrompido no meio da execução, ele está ficando preso. Como posso superar isso? Existe alguma maneira alternativa de executar o comando em uma máquina remota e obter a saída? obrigada.

    
por Kumar 24.09.2015 / 06:02

0 respostas