“Falha ao iniciar o SYSV” ao iniciar o serviço self-made

0

Estou tentando configurar um serviço, no root, que iniciará automaticamente o banco de dados monetdb após a inicialização do sistema porque o monetdb não oferece esse mecanismo. Eu criei o arquivo de script /etc/init.d/monetdb :

#!/bin/sh
#
# /etc/init.d/monetdb
# Subsystem file for "MonetDB" starter
#
# chkconfig: 2345 95 05
#
# processname: MonetDB
# pidfile: /var/run/MonetDB.pid

. /etc/init.d/functions

case "$1" in
start)
        su - monetka -c ". start.sh"

        touch /var/lock/subsys/monetdb
        ;;
stop)
        su - monetka -c ". stop.sh"

        rm -f /var/lock/subsys/monetdb
        ;;
status)
        status monetdb
        ;;
restart|reload|condrestart)
        /etc/init.d/monetdb stop
        /etc/init.d/monetdb start
        ;;
*)
        echo $"Usage: $0 {start|stop|restart|reload|status}"
esac
exit 2

Estou usando scripts de start.sh e stop.sh feitos por você, que estão em execução em monetka e que estão funcionando bem todas as vezes. Mas quando eu quero começar meu serviço, estou recebendo um erro e as seguintes informações:

monetdb.service - SYSV: MonetDB starter
   Loaded: loaded (/etc/rc.d/init.d/monetdb)
   Active: failed (Result: exit-code) since śro 2015-04-29 14:36:30 CEST; 16min ago
  Process: 5390 ExecStart=/etc/rc.d/init.d/monetdb start (code=exited, status=2)

kwi 29 14:36:30 yamny.centOS systemd[1]: Starting SYSV: MonetDB starter...
kwi 29 14:36:30 yamny.centOS su[5391]: (to monetka) root on none
kwi 29 14:36:30 yamny.centOS monetdb[5390]: [śro, 29 kwi 2015, 14:36:30 CEST] MonetDB: dbfarm jest już ur...miona
kwi 29 14:36:30 yamny.centOS monetdb[5390]: [śro, 29 kwi 2015, 14:36:30 CEST] MonetDB: baza demo jest już...miona
kwi 29 14:36:30 yamny.centOS systemd[1]: monetdb.service: control process exited, code=exited status=2
kwi 29 14:36:30 yamny.centOS systemd[1]: Failed to start SYSV: MonetDB starter.
kwi 29 14:36:30 yamny.centOS systemd[1]: Unit monetdb.service entered failed state.

Além disso, de acordo com o relatório acima, start.sh script está indo bem (como afirmei anteriormente).

O que eu fiz até agora:

  1. Criado o script /etc/init.d/monetdb na raiz
  2. Serviço adicionado com chkconfig --add monetdb
  3. Iniciar o serviço com systemctl start monetdb.service
por yamny 30.04.2015 / 09:58

2 respostas

0

Ok, resolvi o problema depois de excluir algumas linhas do script /etc/init.d/monetdb

#!/bin/sh
#
# /etc/init.d/monetdb
#
# chkconfig: 2345 95 05
# description: MonetDB starter
#
case "$1" in
start)
        su - monetka -c ". start.sh"
        ;;
stop)
        su - monetka -c ". stop.sh"
        ;;
restart)
        /etc/init.d/monetdb stop
        /etc/init.d/monetdb start
        ;;
esac

Em seguida, o serviço adicionado com chkconfig --add monetdb e systemctl start/stop monetdb funciona como um encanto ...

    
por 04.05.2015 / 11:44
0

É possível que "/etc/init.d/functions" não existisse, o que causaria a falha do script original.

Dado o comentário de Ramhound, percebo que poderia ter sido mais claro sobre a minha resposta. Eu encontrei exatamente o mesmo problema, e no meu caso o script falhou porque o arquivo /etc/init.d/functions não existia. (No meu CentOS 6.7 está localizado em /etc/rc.d/init.d/functions). Dado que Yammy tinha auto-resolvido seu problema "apagando algumas linhas" de seu script original (que incluía a problemática /etc/init.d/functions reference), eu pensei que outros poderiam ser ajudados por uma resposta mais específica.

Dito isto, o script também pode ter problemas adicionais e é por isso que coloquei a minha resposta como "É possível que ..."

Surpreende-me que Ramhound descubra que a minha resposta não fornece uma resposta e que requer esclarecimentos do consulente. Talvez Ramhound pudesse fornecer um pouco mais de esclarecimento sobre onde ele achava que minha resposta exigia esclarecimentos do pôster original. Mentes inquiridoras querem saber.

    
por 15.08.2016 / 22:45