Estoy intentando crear un script de inicio simple para el servidor Teamspeak, pero no puedo hacerlo funcionar.
Cuando yo digoinicio inicialsimplemente se ejecuta pero nunca finaliza ni emite ningún mensaje. Lo mismo esta sucediendo paradetener.
Para estar seguro de que no estoy haciendo nada malo, copié 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 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 su ayuda.
Respuesta1
Hay una serie de rarezas en tu advenedizo trabajo que me tienen rascándome 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, probablemente esté causando errores. ¿Querías decir 'eco'? Puede que eso tampoco sea útil, ya que irá a la consola del sistema, que puede no estar visible.
2) Suponiendo que la estrofa 'emitir' funcione, dices 'esperar bifurcación' pero luego en realidad bifurcados veces. Una vez para el 'guión', y luego otra vez cuando el guión del equipo se bifurca para ponerse en segundo plano.
3) haces "su" para ejecutar el script, pero start-stop-daemon es en realidad más simple en la mayoría de los casos:
Con 11.10, no necesita hacer el chdir
script in, no estoy seguro si se agregó después de cualquier versión de advenedizo que tenga. busca man 5 init
la palabrachdir
start on runlevel [2345]
stop on runlevel [^2345]
respawn
chdir /home/danizmax/teamspeak-server
expect fork
exec start-stop-daemon --start --user danizmax --group danizmax --exec /home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh -- start
Además, es probable que se informen errores en /var/log/syslog. Puede aumentar bastante el nivel de error ejecutando
initctl log-priority info
man initctl
para más niveles de registro.