Iniciar serviços após a rede estar pronta na Red Hat

1

No Ubuntu, para configurar um serviço para iniciar depois que a rede estiver ativa, você pode colocar um script em seu /etc/network/if-up.d /

#!/bin/sh
/etc/init.d/<your service> restart

ou algo como sugerido em este superusuário Q / A .

Mas eu não vejo o equivalente no chapéu vermelho. A única coisa que encontrei foi usando números em arquivos S / K. Quero dizer, este é o caminho a percorrer no chapéu vermelho?

    
por user1866880 11.04.2013 / 22:32

2 respostas

1

Sim, esse é o caminho certo a seguir. Você deve usar o chkconfig, que gerencia os scripts de inicialização para você.

O S ?? e K ?? os números determinam a prioridade, portanto, você deve certificar-se de que o número do serviço seja maior que o do serviço 'network' (ou NetworkManager).

    
por 12.04.2013 / 00:14
1

A definição de chkconfig no início de um initscript determina qual o número de S / K que obtém.

Cada "runlevel" é na verdade apenas um diretório ( /etc/rc*.d / ) cheio de links simbólicos para os scripts de inicialização ( /etc/init.d/ ) e esses links simbólicos são nomeados com entradas numeradas S e K.

S significa partida e K significa matar. Quando o init entra em um nível de execução, ele inicia com S01 e passa para o S99, executando cada script de início para iniciar o serviço que o script controla. Quando o init sai de um runlevel, ele começa com K01 e passa para o K99, executando cada script para parar o serviço que o script controla.

man chkconfig fornece um exemplo da definição de serviço no estilo chkconfig e da definição de serviço de estilo do Linux Standards Base (LSB).

Se um script de inicialização tiver os dois tipos definidos, a definição de LSB deve ter precedência sobre a definição de chkconfig.

Se você tem um serviço que depende da conectividade de rede, você pode ter certeza de que seu serviço inicia após o /etc/rc*.d/S10network dando-lhe um número inicial após 10, ou você pode ver que / etc / init .d / network tem a definição de LSB Fornece: $ network , então você pode usar a definição de LSB Required-Start: $ network no seu script de início.

    
por 14.05.2013 / 06:11

Tags