Como verificar se o nó “ssh” está acessível ou não? (conectado ou desconectado)

0

Eu tenho esta lista de endereços IP:

172.16.65.74
172.16.65.75
172.16.65.76
172.16.65.77

Eu tenho em cada host um arquivo chamado "replicas.txt" (o mesmo arquivo em todos os hosts). Meu objetivo é obter uma cópia desses arquivos de réplicas.

Eu gostaria de verificar 172.16.65.74 se é alcançável ou não, se estiver desconectado, eu testo a segunda máquina 172.16.65.75, se esta conectada, copio o arquivo replicas.txt o host atual em que trabalho .

Isso é possível?

Obrigado. Bests

    
por user1568840 11.09.2015 / 16:28

1 resposta

1

Você pode fazer um script muito básico como este:

#!/bin/bash

mymachines=(172.16.65.74 172.16.65.75 172.16.65.76 172.16.65.77)

for machine in "${mymachines[@]}"; do
  echo "Trying to access $machine ..."
  if 'scp -o ConnectTimeout=5 yourlogin@$machine:/path/to/my/file ./'; then
     echo "Succeeded."
     break;
  else
     echo "Failed, trying next if available..."
  fi
done

Isto irá pegar os hosts um por um e tentar copiar o arquivo remoto para o seu sistema de arquivos local. Se algum deles der certo, sai; caso contrário, continuará o loop para a próxima máquina disponível.

    
por 11.09.2015 / 17:20