Como interromper um job upstart quando outro estiver iniciando?

3

Eu quero parar (e começar de novo depois) vários serviços manualmente. Como posso descobrir a sequência correta que respeita as dependências?

Nos tempos antigos, eu podia analisar o conteúdo de e. g. /etc/rc2.d e siga a sequência dada. Como isso funcionaria com o upstart?

O que eu preciso é de um script:

Entrada: lista de serviços

Saída: essa lista é classificada de forma que esses serviços possam ser iniciados com segurança na ordem em questão

Eu quero fazer backup do meu sistema; Antes do backup eu quero parar serviços que podem levar a um backup inconsistente (como o sistema de email), ou que pode ter alguns dados na memória e não no sistema de arquivos (como bancos de dados).

    
por user187380 26.08.2013 / 12:04

1 resposta

0

Você pode adicionar a sub-rotina stop on service starting aos serviços que deseja interromper sempre que o evento de backup for acionado. Algo parecido com isto:

# this is my test service

start on runlevel [2345]
stop on runlevel ![2345]
stop on backup starting
start on backup stoping

exec service --daemon

você deve substituir o backup pelo nome do serviço que começa a usar o upstart. Há também a sub-rotina do evento de disparo, mas isso é um pouco mais complicado, já que exige que você modifique ambos, o serviço que está sendo interrompido para backups e o serviço que está começando a fazer o backup.

    
por Braiam 25.12.2013 / 00:28

Tags