Script de inicialização Debian 6

1. Script de inicialização Debian 6

alexandre pereira cavalheiro
alecavalheiro

(usa Debian)

Enviado em 18/03/2013 - 13:06h

Boa tarte pessoal, venho tentando rodar um script para inicialização automática do GlassFish; criei um script dentro do /etc/init./ e dei a permissão de execução:

# chmod +x nomedoscript.sh

Após isso rodei:
# insserv nomedoscript.sh
Que pelo que pesquisei serve para resolver as dependências do script na hora da inicialização.

Após reiniciar, ainda assim não consegui resultados com a inicialização do script. Seguem os scripts:

===================nomedoscript.sh================================

# !/bin/sh
#
# /etc/init.d/startnfe
#
### BEGIN INIT INFO
# Provides: glassfish
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $solca_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script do GlassFish
# Description: Glassfish
### END INIT INFO

case "$1" in
start)
echo "Stopping service..."
/etc/init.d/start_glassfish.sh
;;

stop)
echo "Starting service..."
/etc/init.d/stop_glassfish.sh
;;

restart)
echo "Restarting service..."
/etc/init.d/stop_glassfish.sh
/etc/init.d/start_glassfish.sh
;;

*)
echo "Invalid operation"
;;
esac

===============/etc/init.d/start_glassfish.sh=========================

/opt/glassfish3/bin/asadmin start-domain domain1

===============/etc/init.d/stop_glassfish.sh==========================

/opt/glassfish3/bin/asadmin stop-domain domain1

======================================================================

Entendo que seria mais simples utilizar um script único com as linhas dos scripts secundários, mas a quesito de testes, gostaria de entender oque ocorre para não inicializar neste caso. Obrigado a todos =)



  


2. Script de inicialização Debian 6

Daniel Zaia Manzano
dzm_linux

(usa Debian)

Enviado em 18/03/2013 - 15:24h

Amigo,

Uma alternativa é você incluir o seu script no arquivo "/etc/rc.local".

Ex.

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/caminho/meu_script.sh

exit 0


Tudo o que você colocar nesse arquivo, será executado na inicialização do Debian.

Abraços


3. Re: Script de inicialização Debian 6

alexandre pereira cavalheiro
alecavalheiro

(usa Debian)

Enviado em 18/03/2013 - 15:53h

Tentei fazer também mas não deu certo! =/ eu entendo que deveria funcionar pelo /etc/rc.local, mas não está indo, segue as linhas que adicionei:




/root/start_glassfish.sh

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080



Ainda não funcionando, alguém já viu isso?


4. Re: Script de inicialização Debian 6

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/03/2013 - 16:00h

1- Já tentou executar os scripts que o script principal chama manualmente ?
2- Já tentou executar o script principal manualmente ?
3 - Todos os scripts tem permissão de execução ?

Faça esse check list que retorna ai.


5. Re: Script de inicialização Debian 6

alexandre pereira cavalheiro
alecavalheiro

(usa Debian)

Enviado em 18/03/2013 - 16:03h

Já testei todos os scripts, estão funcionando normalmente;
Todos os scripts tem permissão de exec. (chmod a+x SCRIPT)

Eles funcionam se eu os executo manualmente, direto no shell; não funcionam se eu adicionar as command lines no /etc/rc.local (por exemplo) e nem com a adição no insserv dos scripts (alojados também em /etc/init.d/ e com permissão de exec)


6. Re: Script de inicialização Debian 6

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/03/2013 - 16:18h

Troque esse conteúdo:

### BEGIN INIT INFO
# Provides: glassfish
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $solca_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script do GlassFish
# Description: Glassfish
### END INIT INFO


por esse:


### BEGIN INIT INFO
# Provides: glassfish
# Required-Start: $all
# Required-Stop: #local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script do GlassFish
# Description: Glassfish
### END INIT INFO


Depois execute:

insserv seu_script.sh 


Teste agora. veja também se estes scripts chamados dentro do script principal rodam em loop ou fazem algo especifico. pois se fizerem algo especifico vão rodar e encerrar e vc não verá nada.


7. Re: Script de inicialização Debian 6

alexandre pereira cavalheiro
alecavalheiro

(usa Debian)

Enviado em 18/03/2013 - 16:38h


### BEGIN INIT INFO
# Provides: glassfish
# Required-Start: $all
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script do GlassFish
# Description: Glassfish
### END INIT INFO

/opt/glassfish3/bin/asadmin stop-domain domain1
/opt/glassfish3/bin/asadmin start-domain domain1


Substituí o conteúdo do script "/etc/init.d/nfe.sh" e agora está conforme acima, porém o retorno do comando foi o seguinte:


root@NFe:/etc# insserv nfe.sh
insserv: warning: script 'K01postgresql-8.4' missing LSB tags and overrides
insserv: warning: script 'K01startnfe' missing LSB tags and overrides
insserv: warning: script 'postgresql-8.4' missing LSB tags and overrides
insserv: warning: script 'stop_glassfish.sh' missing LSB tags and overrides
insserv: warning: script 'start_glassfish.sh' missing LSB tags and overrides
insserv: warning: script 'startnfe' missing LSB tags and overrides


Resultado: ainda não funcionou... =/


8. Re: Script de inicialização Debian 6

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/03/2013 - 16:46h

Adicione um exit 0 ao fim para indicar o status de saída e execute de novo o comando:
insserv /etc/init.d/nfe.sh 



9. Re: Script de inicialização Debian 6

alexandre pereira cavalheiro
alecavalheiro

(usa Debian)

Enviado em 18/03/2013 - 16:59h

Adicionei a linha e está desta forma no momento:


### BEGIN INIT INFO
# Provides: glassfish
# Required-Start: $all
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script do GlassFish
# Description: Glassfish
### END INIT INFO

/opt/glassfish3/bin/asadmin stop-domain domain1
/opt/glassfish3/bin/asadmin start-domain domain1
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
exit 0


Quando rodei o INSServ, este retornou o seguinte:


root@NFe:/etc/init.d# insserv nfe.sh
insserv: warning: script 'K01postgresql-8.4' missing LSB tags and overrides
insserv: warning: script 'K01startnfe' missing LSB tags and overrides
insserv: warning: script 'postgresql-8.4' missing LSB tags and overrides
insserv: warning: script 'stop_glassfish.sh' missing LSB tags and overrides
insserv: warning: script 'start_glassfish.sh' missing LSB tags and overrides
insserv: warning: script 'startnfe' missing LSB tags and overrides
root@NFe:/etc/init.d#


Reinicio o servidor e ainda assim nenhuma das linhas parece surtir efeito. Eu criei tudo como root, inclusive dei as permissões; será que isso pode implicar em alguma coisa? De qualquer forma, segue o # ls /etc/init.d/ -lha|grep nfe:


root@NFe:~# ls /etc/init.d/ -lha |grep nfe
-rwxr-xr-x 1 root root 411 Mar 18 16:49 nfe.sh




10. Re: Script de inicialização Debian 6

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/03/2013 - 17:03h

Pergunta o que os scripts (todos) fazem ? pode postar o conteúdo de todos aqui ?


11. Re: Script de inicialização Debian 6

alexandre pereira cavalheiro
alecavalheiro

(usa Debian)

Enviado em 18/03/2013 - 17:12h

Sem problemas meu caro, estou apenas tentando fazer um STOP e um START (conhecido como RESTART) do GlassFish, direto pelo /etc/rc.conf por testes e paralelamente estou escrevendo no conteúdo dos scripts:

SCRIPT 1 (também no /etc/rc.conf):

## BEGIN INIT INFO
# Provides: glassfish
# Required-Start: $all
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script do GlassFish
# Description: Glassfish
### END INIT INFO

/opt/glassfish3/bin/asadmin stop-domain domain1
/opt/glassfish3/bin/asadmin start-domain domain1
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
exit 0


Os outros scripts (cada um tem sua respectiva linha glassfish acima) eu estou relevando pois se conseguir fazer ao menos a linha do iptables funcionar, já conseguirei fazer o restante...

Resumo da ópera::::::
-scripts com o CODE acima:
--/etc/rc.conf
--/etc/init.d/nfe.sh #este com (chmod a+x nfe.sh) e (insserv nfe.sh)

Sem funcionalidade ainda... =/


12. Re: Script de inicialização Debian 6

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/03/2013 - 17:15h

Pedi para postar o conteúdo de todos me referindo aos scripts mostrados abaixo:


/opt/glassfish3/bin/asadmin stop-domain domain1
/opt/glassfish3/bin/asadmin start-domain domain1


Quanto a linha do iptables, você já verificou após inicializar se a regra foi executada com sucesso ?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts