Sie können stdout
umleiten und stderr
der gesamten Shell mit script
Pragma (statt exec
) in Verbindung mit exec >FILE 2>&1
, etwa so:
script
exec >/path/to/some_log_file 2>&1
exec your_command_here
end script
Das sollte Ihnen hoffentlich einen besseren Einblick in das geben, was vor sich geht. Ich habe festgestellt, dass dies nützlich ist, um alle möglichen Probleme in meinen Upstart-Skripten abzufangen. Sie könnten Pipe stdout
Ihres Befehls /stderr
direkt, aber Sie werden Fehler verpassen, die ihren Ursprung in der Shell haben (wie Syntaxfehler).
Wenn andererseits service
hängt, es könnte nicht einmal auf Ihr Skript schlagen, in diesem Fall hilft natürlich nichts davon.
Es gibt auch die console log
deklarativ, wie hier definiert:http://upstart.ubuntu.com/cookbook/#console-log
Ich weiß nicht genug über Upstart, um zu wissen, ob es standardmäßig aktiviert ist, aber Sie können es pro Upstart-Job aktivieren, es wird standardmäßig an /var/log/upstart/<job>.log
ausgegeben