Tengo un archivo de configuración Upstart en / etc / init que comienza bien si lo inicio manualmente de esta manera:
sudo initctl start myconf
Si lo ejecuto sin el comando sudo obtengo el error name = = (unset) error, que se debe a los privilegios del usuario, pero ese no debería ser el problema cuando el trabajo se inicializa en el arranque del sistema cuando se inicia Upstart, ¿verdad? (porque eso es todo ejecutado por la raíz).
El contenido del guión es:
start on runlevel [2345]
stop on runlevel [^2345]
exec /spatial/server_init.sh
... donde server_init.sh ejecuta un servidor basado en script de Python. Cuando verifico el estado de la secuencia de comandos justo después de iniciar sesión en shell, dice detener / esperar. También probé el archivo conf con "start on net-device-up" pero nada cambia. ¿Hay alguna manera de ver el registro del sistema Upstart o algo similar que pueda ayudarme a depurar el problema?
Gracias
chdir
script de inicio y ese directorio no existe, no se escribirá ningún registro y obtendrá el mensaje críptico:start: Job failed to start
Respuestas:
Tratar:
Es posible que desee considerar convertirlo en una tarea mientras lo depura.
luego desde la consola:
fuente
De acuerdo, encontré una forma, pero solo funciona si el error ocurre en el programa que está ejecutando el script (y si ese programa, por supuesto, devuelve mensajes de error), no Upstart en sí, pero eso es lo que necesitaba en este caso. Lo que hice fue redirigir la salida del programa a un archivo de registro como este:
En cuanto al otro que descubrí, puede aumentar la verbosidad de Upstart, por lo que si lo necesito, comenzaré desde allí.
fuente
Verifique su versión de arranque por: versión de initctl o arranque de política apt-cache
Para todas las versiones de Upstart anteriores a v1.4, el valor predeterminado para la consola era console none . A partir de Upstart 1.4, el valor predeterminado es el registro de la consola .
Ejemplo:
registro de consola
guión
fin de guión
Registro de consola : conecta la entrada estándar a / dev / null. La salida estándar y el error estándar están conectados a un extremo de un pseudo-terminal, de modo que cualquier salida de trabajo se registra automáticamente en un archivo en el directorio / var / log / upstart / para System Jobs y $ XDG_CACHE_HOME / upstart / (o $ HOME /. cache / upstart / if $ XDG_CACHE_HOME no está configurado) para trabajos de sesión.
Consola none : conecta la entrada estándar del trabajo, la salida estándar y los descriptores de archivos de error estándar a / dev / null.
Para obtener más información sobre la consola, consulte el siguiente enlace:
http://upstart.ubuntu.com/cookbook/#console-log
fuente