inittab não está reiniciando o serviço após falha do serviço no Red Hat 6.7

0

NOTA: Estou executando o Red Hat 6.7

Eu tenho um serviço que é configurado com o sistema init do Linux para iniciar um processo como um serviço quando a máquina é inicializada. Isso foi feito com essa configuração única na linha de comando:

ln -snf /home/me/bin/my_service /etc/init.d/my_service
chkconfig --add my_service
chkconfig --level 235 my_service on

Quando o SO é reinicializado, o serviço é iniciado conforme o esperado.

Também preciso que o serviço seja reiniciado se o serviço (my_service) falhar. Pelo que eu li, tudo que eu preciso fazer é adicionar uma entrada em / etc / inittab que se parece com isso:

mysvc: 235: respawn: / home / eu / bin / my_service_starter

Onde my_service_starter se parece:

#!/bin/bash
/home/me/bin/my_service start

O script my_service se parece com:

#!/bin/bash
"/usr/java/bin/java" /home/me/bin/my_service.jar start

Meu entendimento é que quando o sistema init detecta que o my_service não está em execução, ele tentará reiniciá-lo executando "my_service_starter".

No entanto, isso não parece estar funcionando. ou seja, o serviço não é iniciado quando o SO é reinicializado.

Eu preciso entender como dizer ao sistema Linux init para reiniciar meu serviço quando o serviço falhar.

    
por StvnBrkdll 09.09.2016 / 17:00

1 resposta

1

RedHat 6 usa upstart como o sistema init.

No início dos arquivos inittab fornecidos, estão as linhas:

# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

Você precisa criar uma definição init adequada em /etc/init (nota: NÃO /etc/init.d ).

por exemplo (mas pode precisar de depuração) /etc/init/myservice

start on runlevel [2345]
stop on runlevel [S016]

respawn
exec /home/me/bin/my_service_starter
    
por 09.09.2016 / 19:59