Falha ao executar um script na inicialização (servidor Ubuntu)

0

Eu tenho alguns tutoriais sobre como executar um script na inicialização no servidor Ubuntu, mas ele continua falhando com status = 203

Aqui está o arquivo script.sh que eu escrevi em /etc/init.d:

### BEGIN INIT INFO
# Provides:            Multicraft
# Required-Start:       
# Required-Stop        
# Should-Start:         
# Should-Stop:          
# X-Start-Before:       
# X-Start-After:        
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# X-Interactive:        
# Short-Description:    Multicraft daemon
# Description:          Starts the Multicraft daemon at system startup
### END INIT INFO

. /home/minecraft/multicraft/bin/multicraft -v start

exit 0

Eu também executei o comando "sudo update-rc.d script.sh defaults".

Alguém pode me dizer o que estou fazendo de errado?

P.S. Deve-se notar que quando executo manualmente este comando, o programa é iniciado e tudo funciona como esperado:

sudo /home/minecraft/multicraft/bin/multicraft -v start
    
por Amine Kchouk 06.02.2016 / 23:20

2 respostas

0

Experimente adicionar o Sleep ao seu script.

sleep 60
./home/minecraft/multicraft/bin/multicraft -v start
exit 0

OR

sleep 60
cd /home/minecraft/multicraft/bin/
sudo ./multicraft -v start
exit 0

OR

sleep 60
cd /home/minecraft/multicraft/bin/
sudo multicraft -v start
exit 0

Por favor, aumente o tempo de espera se o código acima não funcionar (se você é usuário root não precisa usar o sudo)

Possível duplicidade de "Aplicativos de inicialização" não funcionando

    
por editinit 07.02.2016 / 01:13
0

Ok, eu descobri qual era o problema: eu não escrevi #! / bin / sh na primeira linha do script.sh. E este é o script que realmente funciona:

#!/bin/sh
### BEGIN INIT INFO
# Provides:             Multicraft
# Required-Start:       
# Required-Stop        
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Multicraft daemon
# Description:          Starts the Multicraft daemon at system startup
### END INIT INFO

start() {
  ./home/minecraft/multicraft/bin/multicraft -v start
}

stop() {
  ./home/minecraft/multicraft/bin/multicraft -v stop
}

case "$1" in
  start)
    start
  ;;
  stop)
    stop
  ;;
*)

esac
exit 0

Obrigado pela sua ajuda @editinit embora.

    
por Amine Kchouk 07.02.2016 / 21:25