Dependências com scripts /etc/init.d

2

Eu tenho um script que inicia uma instância do servidor de banco de dados DB2 no momento da inicialização e outro script que inicia um aplicativo que tem como dependência que o banco de dados DB2 deve estar ativo.

No Solaris, havia uma maneira de criar uma dependência entre dois serviços, de modo que você poderia dizer: O aplicativo só pode ser iniciado se o DB2 estiver em execução.

Existe uma maneira de criar tal dependência no Redhat 6.5, além de esperar por um momento seguro (sleep x) e depois iniciar o aplicativo?

    
por Willem 03.04.2014 / 09:12

2 respostas

1

Use o campo de cabeçalho Required-Start . Supondo que o script de inicialização para o DB2 seja chamado de db2server , inclua essa linha na seção de cabeçalho do segundo script:

# Required-Start: db2server

Veja a documentação da LSB que você está procurando.

Se você observar outros scripts, verá uma seção de cabeçalho com estes campos:

### BEGIN INIT INFO
# Provides: 
# Required-Start: 
# Required-Stop: 
# Should-Start: 
# Should-Stop: 
# Default-Start: 
# Default-Stop: 
# Short-Description: 
# Description: 
### END INIT INFO

Os campos *-Start e *-Stop podem receber nomes explícitos de outros scripts SysVInit ou espaços reservados descritivos, como $local_fs , $remote_fs .

Observação: estou ciente de que essa questão tem aproximadamente 18 meses, mas a outra resposta foi basicamente um conjunto de links sem explicação.

    
por 20.11.2015 / 01:28
0

O RHEL 6 controla a sequência de inicialização e desligamento por meio de upstart , um gerenciador baseado em eventos (originalmente criado para o Ubuntu Linux) que serve como um substituto para o tradicional SysV daemon de inicialização. Esta seção do Cookbook Upstart mostra como especificar dependências para que elas comecem a seqüência correta.

    
por 24.07.2014 / 07:48