J'ai un fichier de conf Upstart dans / etc / init qui démarre bien si je le démarre manuellement comme ceci:
sudo initctl start myconf
Si je l'exécute sans la commande sudo, j'obtiens l'erreur name = = (unset), qui est due aux privilèges de l'utilisateur, mais cela ne devrait pas être le problème lorsque le travail est initialisé au démarrage du système lorsque Upstart démarre, n'est-ce pas? (parce que tout est géré par la racine).
Le contenu du script est:
start on runlevel [2345]
stop on runlevel [^2345]
exec /spatial/server_init.sh
... où server_init.sh exécute un serveur basé sur un script python. Lorsque je vérifie l'état du script juste après ma connexion au shell, il indique stop / wait. J'ai également essayé le fichier conf avec "start on net-device-up" mais rien ne change. Existe-t-il un moyen de voir le journal système Upstart ou quelque chose de similaire qui pourrait m'aider à déboguer le problème.
Merci
chdir
dans votre script upstart et que ce répertoire n'existe pas, aucun journal ne sera écrit et vous obtiendrez le messagestart: Job failed to start
Réponses:
Essayer:
Vous voudrez peut-être envisager de le convertir en tâche pendant que vous le déboguez.
puis depuis la console:
la source
D'accord, trouvé dans un sens, mais cela ne fonctionne que si l'erreur se produit dans le programme exécuté par le script (et si ce programme renvoie bien sûr des messages d'erreur), pas Upstart lui-même, mais c'est ce dont j'avais besoin dans ce cas. J'ai redirigé la sortie du programme vers un fichier journal comme celui-ci:
Quant à l'autre, j'ai découvert que vous pouvez augmenter la verbosité Upstart, donc si j'en ai besoin, je vais commencer à partir de là.
la source
Vérifiez votre version upstart par: la version initctl ou la politique apt-cache upstart
Pour toutes les versions d'Upstart antérieures à la version 1.4, la valeur par défaut de la console était console none . Depuis Upstart 1.4, la valeur par défaut est le journal de la console .
Exemple :
journal de la console
scénario
script de fin
Journal de la console - Connecte l'entrée standard à / dev / null. La sortie standard et l'erreur standard sont connectées à une extrémité d'un pseudo-terminal de sorte que toute sortie de travail est automatiquement enregistrée dans un fichier dans le répertoire / var / log / upstart / pour les travaux système et $ XDG_CACHE_HOME / upstart / (ou $ HOME /. cache / upstart / if $ XDG_CACHE_HOME is not set) for Session Jobs.
Console aucune - Connecte l'entrée standard, la sortie standard et les descripteurs de fichiers d'erreur standard à / dev / null.
Pour plus d'informations sur la console, consultez le lien ci-dessous:
http://upstart.ubuntu.com/cookbook/#console-log
la source