Execução de um script assim que uma interface de rede é detectada como ativa

2

Eu estava apenas imaginando se era possível executar um script assim que um teste para ver se uma interface de rede está ativa (como ping ou algo assim)? Acho que seria muito legal atualizar meu yum quando eu fizer login, mas quero ter certeza de que tenho acesso à Internet primeiro. Alguma idéia?

    
por fr00ty_l00ps 08.04.2013 / 19:51

2 respostas

1

Por que não, em vez de fazer login, basta configurar um trabalho cron para fazer isso todas as manhãs (digamos, 3am quando não afetaria ninguém (supondo que sua máquina esteja funcionando 24 horas por dia)? p>

Se você realmente quisesse fazer isso toda vez que se conectasse, poderia colocar yumupdate.sh no seu .bash_login

Como alternativa, no seu crontab:

00 03 * * * yumupdate.sh

E no yumupdate.sh

#!/bin/bash            
while sleep 300; do     # sleep 5 minutes in between each ping test
    nc -vz 8.8.8.8 53   # nc to test connectivity (8.8.8.8 is google dns)
    if [ $? -eq 0 ]     # if the previous exit code == 0 (no error)
        then            # update yum then update the os then break out of the loop
            /usr/bin/yum -y update yum >> ~/yumupdateyum.log 
            /usr/bin/yum -y update >> ~/yumupdate.log
            exit
    fi
done
    
por 08.04.2013 / 20:06
0

Talvez você queira analisar:

yum install yum-NetworkManager-dispatcher

... e talvez adicionar recursos a ele?

    
por 10.04.2013 / 19:52

Tags