He agregado un nuevo script a /etc/init/llamado minecraft.confque contiene el script:
start on startup
stop on shutdown
respawn
respawn limit 20 5
script
export HOME="/root"
exec /root/minecraft/start.sh 2>&1 >> /var/log/minecraft.log
end script
post-start script
echo "minecraft started"
Cuando lo intento start minecraftme sale el error:start: Unknown job: minecraft
He intentado correr initctl listy mi trabajo de Minecraft no está en la lista. He intentado correr initctl reload-configurationy no hace ninguna diferencia.
Otros trabajos enumerados por initctl listtrabajo funcionan bien con iniciar, detener y reiniciar.
¿Por qué el advenedizo no ve mi nuevo script?

/etc/init.d/?/etc/inity ahora está listo para reiniciar y usar el programa".sudo start minecraftsin problemas. Aquí está el contenido del archivo de registro.~$ sudo cat /var/log/upstart/minecraft.log minecraft started /proc/self/fd/9: 3: exec: /root/minecraft/start.sh: not found minecraft started¿Puede proporcionar más detalles sobre la versión de Ubuntu que está utilizando y alguna información útil de syslog?Respuestas:
Verifique los registros de inicio (está adentro
/var/log/syslog) mientras recarga la configuración usandoinitctl reload-configuration. Si hay un error de sintaxis, aparecerá allí. Por lo general, es por eso que no puede usar su nueva configuración inicial.fuente
Una manera fácil de verificar la sintaxis de su script es con el siguiente comando:
Descubrí que incluso con un archivo Upstart válido si el archivo no existía cuando el servidor se inició por última vez, tengo que reiniciar el servidor para que Upstart pueda ver el archivo.
fuente
Me siento un poco tonto ... Pero aquí está:
Me perdí la estrofa "final script" desde el final del script inicial ...
debería haber sido
Sin
end scriptembargo, no estoy seguro de por qué funcionó para @schkovich sin el ...fuente
En mi caso, era un
authorcampo vacío , como este:Funcionó solo después de agregar algo en las comillas.
también estaba lanzando
/etc/init/servicename.conf:2: Expected tokena syslog en lugar de stdout . Demasiado ocupado para presentar un informe de error para un paquete moribundo.fuente
Quizás no sea aplicable específicamente a esto, pero vale la pena mencionarlo: si edita un archivo de configuración Upstart para un servicio que se está ejecutando, la ejecución
restartNO vuelve a cargar la configuración. Debe ejecutarstopystartque los nuevos cambios surtan efecto.http://upstart.ubuntu.com/cookbook/#restart
fuente