Talvez a rede ainda não esteja pronta quando rc.local
for executado.
O código a seguir esperará pela rede antes de se conectar:
(
until ping -nq -c3 W.X.Y.Z; do
# Waiting for network
sleep 5
done
ssh -R 32400:192.168.0.100:32400 [email protected] -N
)&
W.X.Y.Z
é um endereço IP que pode ser acessado e responde a pings. Talvez seja o gateway padrão da sua rede, o DNS do Google (8.8.8.8), etc.
O código entre parênteses é executado em um novo shell, e o &
faz com que seja executado em segundo plano. Não bloqueará a execução de rc.local
.
Os comandos entre until
e done
serão repetidos até que o ping
seja bem-sucedido, ou seja, receba uma resposta (ou seja, a rede está ativa).