Как отладить сценарии Upstart?

По какой-то причине я получаю ошибку во время обновления аппорта , причина которой

% sudo service apport start
start: Job failed to start

В sysvinit я могу отладить такого рода проблемы, запустив, например, [ 115]

sudo sh -x /etc/init.d/whatever start

, но это не похоже на Upstart. Что мне делать дальше?

Оказывается, существует обходной путь , который позволит продолжить установку. Но меня все еще интересует общий вопрос о том, как можно отследить сценарий.

67
задан 15 March 2016 в 05:59

2 ответа

Upstart регистрирует выполнение вашей службы в файле журнала с тем же именем в /var/log/upstart/your-service-name.log. Это должно быть полезно.

0
ответ дан 15 March 2016 в 05:59

Вся следующая информация (и гораздо более полезная помощь Upstart) взята из The Upstart Cookbook . Раздел 18 посвящен отладке. http://upstart.ubuntu.com/cookbook/#debugging

В этом конкретном случае отслеживания раздела «сценарий» задания Upstart необходимо добавить следующие строки прямо под word "script":

exec 2>>/dev/.initramfs/myjob.log
set -x

Причина нечетного расположения заключается в том, что /dev/.initramfs/ доступен при очень ранней загрузке, до загрузки корневой файловой системы, и продолжает оставаться доступной после загрузки. Я предполагаю, что с помощью apport вам, вероятно, не нужно использовать , чтобы использовать этот путь. Тем не менее, приятно знать вариант.

Следует также отметить, что все сценарии выполняются с set -e, поэтому любая команда, которая не выполнится, полностью выйдет из сценария. Это имеет смысл, так как нужно быть очень осторожным при запуске скриптов от имени root.

Я настоятельно рекомендую обратиться к поваренной книге Upstart, указанной выше, для всех, кто работает с заданиями Upstart.

0
ответ дан 15 March 2016 в 05:59

Другие вопросы по тегам:

Похожие вопросы: