Evento Upstart quando a conectividade de rede para um servidor específico está disponível?

0

Existe uma maneira no início de codificar um evento para iniciar quando a conectividade de rede para uma máquina específica fica disponível? Algo baseado em um resultado de ping funcionaria no meu caso. A tarefa que está sendo iniciada falhará se a rede morrer, então o respawn pode ser iniciado com facilidade, mas se a conexão de rede não estiver disponível quando for iniciada, ela será interrompida e o upstart não a capturará (é uma instância do ffmpeg fluindo do ffserver local para outro ffserver se isso ajudar a destacar o caso de uso).

    
por CoryG 17.03.2013 / 08:52

1 resposta

1

Se você souber o endereço IP da máquina, pode confirmar que é a máquina "certa" confirmando o endereço MAC com algo como:

arp -an 192.168.1.123

Você provavelmente precisará fazer o ping primeiro para que o arp possa encontrá-lo.

Aqui está um script que estou usando que faz a mesma coisa:

#!/bin/bash

ip=192.168.1.123 
mac=00:aa:bb:cc:dd:ee


if ping -c 1 -t 1 ${ip} > /dev/null && arp -an ${ip} | grep ${mac}; then
    echo "${ip} has the expected mac addy." 

    # Mount my nfs share (requires sudo, but whatever)
    mount -t nfs -o proto=tcp,port=2049 ${ip}:/ /mnt 
else
    echo "This isn't the network I'm looking for."   
fi
    
por 15.05.2013 / 18:10