Estoy tratando de hacer una secuencia de comandos simple para el servidor de TeamSpeak, pero no puedo hacer que funcione.
Cuando digo initctl start , simplemente se ejecuta pero nunca termina o incluso emite ningún mensaje. Lo mismo está sucediendo para parar .
Para asegurarme de que no estoy haciendo nada malo, he copiado el script cron e intenté ejecutarlo, pero sucede lo mismo.
¿Qué estoy haciendo mal aquí?
ACTUALIZAR:
Aquí está mi 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
Lo intenté incluso con el script más simple, y eso tampoco funciona:
description "regular background program processing daemon"
start on runlevel [2345]
stop on runlevel [!2345]
expect fork
respawn
exec echo example
console output
Gracias por tu ayuda.
Respuestas:
Hay una serie de rarezas en su trabajo inicial que me hacen rascarme la cabeza.
1) emit no es un programa que yo sepa, por lo que, a menos que lo haya agregado a la ruta del sistema, es probable que esto cause errores. ¿Quiso decir 'echo'? Eso tampoco puede ser útil, ya que irá a la consola del sistema que puede no ser visible.
2) Suponiendo que la estrofa 'emitir' funciona, dices 'esperar bifurcación' pero luego bifurcas dos veces . Una vez para el 'guión', y luego otra vez cuando el guión de TeamSpeak se bifurca en segundo plano.
3) "su" para ejecutar el script, pero start-stop-daemon es en realidad más simple para la mayoría de los casos:
Con 11.10, no necesita hacer el
chdir
script in, no estoy seguro de si se agregó después de cualquier versión de arranque que tenga. Compruebaman 5 init
la palabrachdir
Además, los errores probablemente se informarán en / var / log / syslog. Puede aumentar el nivel de error bastante ejecutando
man initctl
para más niveles de registro.fuente