Estou tentando criar um script iniciante simples para o servidor teamspeak, mas não consigo fazê-lo funcionar.
Quando digo initctl start, ele apenas executa, mas nunca termina nem emite nenhuma mensagem. O mesmo está acontecendo para parar .
Para ter certeza de que não estou fazendo nada errado, copiei o script cron e tentei executá-lo, mas acontece o mesmo.
O que eu estou fazendo errado aqui?
ATUALIZAR:
Aqui está o meu script para TS3:
# myservice - myservice job file
description "my service description"
author "Me <[email protected]>"
# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn
# When to start the service
start on runlevel [2345]
# When to stop the service
stop on runlevel [016]
# Automatically restart process if crashed
respawn
# Essentially lets upstart know the process will detach itself to the background
expect fork
# Start the process
script
emit going into TS3 dir
chdir /home/danizmax/teamspeak3-server_linux-x86/
emit starting TS3
exec su -c "/home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh start" danizmax &
emit done
end script
Eu tentei mesmo com o script mais simples, e isso também não funciona:
description "regular background program processing daemon"
start on runlevel [2345]
stop on runlevel [!2345]
expect fork
respawn
exec echo example
console output
Obrigado pela ajuda.
Respostas:
há várias esquisitices em seu trabalho inicial que me fazem coçar a cabeça.
1) emiss não é um programa que eu conheça, portanto, a menos que você o tenha adicionado ao caminho do sistema, provavelmente está causando erros. Você quis dizer 'eco'? Isso também pode não ser útil, pois ele irá para o console do sistema que pode não estar visível.
2) Supondo que a estrofe 'emit' funcione, você diz 'expect fork', mas na verdade bifurca duas vezes . Uma vez para o 'script' e, novamente, quando o script do teamspeak forquear o segundo plano.
3) você "su" para executar o script, mas o start-stop-daemon é realmente mais simples na maioria dos casos:
Com o 11.10, você não precisa fazer o
chdir
script in, não tenho certeza se ele foi adicionado após qualquer versão do upstart que você possui. Verifiqueman 5 init
a palavrachdir
Além disso, os erros provavelmente serão relatados em / var / log / syslog. Você pode aumentar um pouco o nível de erro executando
man initctl
para mais níveis de log.fonte