Puoi reindirizzare stdout e stderr dell'intera shell usando il script pragma (invece di exec ) insieme a exec >FILE 2>&1 , in questo modo:
script
exec >/path/to/some_log_file 2>&1
exec your_command_here
end script
Si spera che questo dovrebbe darti una visione migliore di quello che sta succedendo. L'ho trovato utile per catturare tutti i tipi di problemi nei miei script upstart. Potresti pipe il stdout del tuo comando /stderr direttamente, ma ti perderai gli errori che hanno origine nella shell (come gli errori di sintassi).
D'altra parte, se service è sospeso, potrebbe nemmeno colpire il tuo script, nel qual caso niente di tutto questo ti aiuterà, ovviamente.
C'è anche l'console log dichiarativo, come definito qui:http://upstart.ubuntu.com/cookbook/#console-log
Non ne so abbastanza di upstart per sapere se è abilitato per impostazione predefinita, ma puoi abilitarlo in base al lavoro di upstart, per impostazione predefinita l'output sarà /var/log/upstart/<job>.log