Serviço não inicia na inicialização da máquina - Ubuntu 14.04.1 LTS

1

Eu criei o Weblogic server como service para iniciar na inicialização da máquina, criando o arquivo weblogic dentro do diretório /etc/init.d/ abaixo do conteúdo:

#!/bin/sh

. /etc/default/weblogic

start() {
    nohup ${WLSHOME}/server/bin/startNodeManager.sh && ${WLSHOME}/common/bin/wlst.sh /opt/nmstart-${ADMINSERVER}.py
    for i in $SERVERS; do
    ${WLSHOME}/common/bin/wlst.sh /opt/start-"$i".py &
    done
}

stop() {
      ${DOMAINPATH}/bin/stopWebLogic.sh -username ${USER} -password ${PASSWORD}
}

case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    stop
    start
    ;;
*)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

e outro arquivo com o mesmo nome (weblogic) no diretório /etc/default/ com o conteúdo a seguir:

# /etc/default/weblogic script used to configure the init script
WLSHOME="/opt/weblogic/wlserver_10.3"
DOMAINPATH="/opt/weblogic/projects/test"

# Username password for stopping
USER="weblogic"
PASSWORD="weblogic1"

# Servers to start
SERVERS="wlserver-1 wlserver-2 "
ADMINSERVER="AdminServer"

Quando executo o comando sudo service weblogic start , o servidor é iniciado, mas ao reiniciar o serviço weblogic da máquina não iniciado.

Em seguida, eu segui this e esta pergunta para que funcione, mas nenhuma deles funciona para mim.

P.S: executando o comando sudo update-rc.d weblogic defaults , me dá a saída:

update-rc.d: warning: /etc/init.d/weblogic missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
System start/stop links for /etc/init.d/weblogic already exist.

Alguma idéia de como posso fazer o serviço de weblogic iniciar na inicialização da máquina?

Obrigado, qualquer ajuda será apreciada.

    
por Arpit 23.11.2015 / 09:48

1 resposta

1

Finalmente eu encontrei a resposta para o problema e pensei em compartilhá-lo para futuros leitores, o problema é nohup comando usado no bloco de início:

start() {
    nohup ${WLSHOME}/server/bin/startNodeManager.sh && ${WLSHOME}/common/bin/wlst.sh /opt/nmstart-${ADMINSERVER}.py
    for i in $SERVERS; do
    ${WLSHOME}/common/bin/wlst.sh /opt/start-"$i".py &
    done
}

No momento da reinicialização da máquina, nohup é ignorado fazendo com que o script NodeManager not to run as a background process seja visto no arquivo /var/log/boot.log :

nohup: ignoring input and appending output to 'nohup.out'

Então, ajustando o bloco de início para usar e comercial (&) para running the NodeManager script in background instead of nohup trabalhou da seguinte forma:

start() {
        ${WLSHOME}/server/bin/startNodeManager.sh &
        ${WLSHOME}/common/bin/wlst.sh /opt/nmstart-${ADMINSERVER}.py
        for i in $SERVERS; do
        ${WLSHOME}/common/bin/wlst.sh /opt/start-"$i".py
        done
}
    
por Arpit 23.11.2015 / 17:40