Понимание ошибок сценария инициализации с помощью sysctl

Понимание ошибок сценария инициализации с помощью sysctl

Я создал собственный скрипт инициализации для запуска веб-приложения Mono в mod-mono-server2контейнере (я не использовал его AutoHosting, но знаю об этом).

Когда у меня был openSUSE 11.4, initя мог прочитать на консоли, что именно пошло не так. Теперь мне пришлось перенести свое приложение на сервер с openSUSE 12.1, который использует systemctl, и было сложно понять, почему оно не запускается.

Команда запуска — это просто типичная команда sudo -u mono-user mod-mono-server2 [params], которая записывает PID в файл /var/run/spambusters/(чтобы убить его, когда я захочу остановиться). Когда я пытаюсь это сделать, /etc/init.d/spambusters startя просто получаю общий Job failed. See system logs and 'systemctl status' for details..

Но я не могу получить больше информации.........

spambusters@dom:~/source> sudo systemctl status spambusters.service
spambusters.service - LSB: Spambusters instance (as spambusters)
      Loaded: loaded (/etc/init.d/spambusters)
      Active: failed since Fri, 07 Sep 2012 20:37:56 +0200; 1min 37s ago
     Process: 29731 ExecStart=/etc/init.d/spambusters start (code=exited, status=1/FAILURE)
      CGroup: name=systemd:/system/spambusters.service
          â”” 29744 sudo -u spambusters /usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applicat...
spambusters@dom:~/so

Системный журнал /var/log/messagesсодержит только

Sep  7 20:37:56 dom sudo:     root : TTY=console ; PWD=/ ; USER=spambusters ; COMMAND=/usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applications /:/home/spambusters/srv/www/domains/www.burnthespam.info/htdocs

Хотя я понимаю, что этот вопрос также может быть полезен для serverfault.com, поскольку он связан с администрированием серверов,Мой прямой вопрос:

Как найти дополнительную информацию об ошибке в скрипте init, если корневым процессом является systemctl, а не init?

решение1

Если ОС использует systemd-journald,

journalctl -a _SYSTEMD_UNIT=spambusters.service

(Последняя версия systemd показывает то же самое в systemctl status, но в OpenSuSE установлена ​​более старая версия.)


Также,не использоватьsudoесли вы хотите, чтобы он запускался только от имени другого пользователя.ИспользоватьUser=spambustersвместо.

Связанный контент