Executa um serviço depois que a rede estiver pronta no Ubuntu?

6

Estou tentando iniciar um serviço que depende da rede sendo iniciada, sempre que o computador for reinicializado. Eu tenho algumas perguntas:

  1. Isso é facilmente possível a partir de um script /etc/init.d? Eu tentei criar um script aqui (em conformidade com os padrões), mas estou realmente duvidoso que ele esteja sendo executado na inicialização, quanto mais trabalhando. Quando eu testo manualmente, funciona.

  2. Eu vi o novo serviço do Upstart, mas até onde isso realmente funciona, estou completamente no escuro.

Como posso criar um script que seja executado na inicialização, que é executado após o início da rede? Se eu pudesse executá-lo depois de conectado à rede sem fio, melhor ainda:)

    
por Naftuli Kay 21.02.2011 / 23:30

2 respostas

6

Você pode usar arquivos em /etc/init como modelos. Por exemplo, isso é /etc/init/mountall-net.conf :

# mountall-net - Mount network filesystems
#
# Send mountall the USR1 signal to inform it to try network filesystems
# again.

description     "Mount network filesystems"

start on net-device-up

task

script
    PID=$(status mountall 2>/dev/null | sed -e '/,/{s/.*,[^0-9]*//;q};d')
    [ -n "$PID" ] && kill -USR1 $PID || true
end script

e este é o '/etc/init/ufw.conf':

# ufw - Uncomplicated Firewall
#
# The Uncomplicated Firewall is a front-end for iptables, to make managing a
# Netfilter firewall easier.

description     "Uncomplicated firewall"

start on net-device-added INTERFACE=lo
stop on runlevel [!023456]

console output

pre-start exec /lib/ufw/ufw-init start quiet
post-stop exec /lib/ufw/ufw-init stop

O último arquivo tem um link simbólico em /etc/init.d :

$ ls -l /etc/init.d/ufw
lrwxrwxrwx 1 root root 21 2009-11-05 00:14 /etc/init.d/ufw -> /lib/init/upstart-job
    
por 21.02.2011 / 23:47
1

veja isto: link o comando post-up é o que você está procurando, eu acho.

Aqui estão mais informações sobre os arquivos em / etc / network: link

    
por 21.02.2011 / 23:57