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

856
usr-local-ΕΨΗΕΛΩΝ

Я сделал свой собственный скрипт инициализации для запуска веб-приложения 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, поскольку он касается администрирования сервера, мой прямой вопрос

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

1

1 ответ на вопрос

0
grawity

If the OS uses systemd-journald,

journalctl -a _SYSTEMD_UNIT=spambusters.service 

(Latest systemd version shows the same in systemctl status, but OpenSuSE has an older one.)


Also, do not use sudo if you only want it to run as a different user. Use User=spambusters instead.

Можете ли вы объяснить часть sudo лучше? Где я могу использовать User = spambusters? usr-local-ΕΨΗΕΛΩΝ 12 лет назад 0
@djechelon: Конечно, в подразделении `spambusters.service`. См. Справочную страницу * systemd.exec (5) *, где описано `User =`. grawity 12 лет назад 0
Возможно, я что-то упустил. Мой сценарий (унаследованный от системы, в которой я использовал init) является /etc/init.d/spambusters и написан в соответствии с форматом init, точно так же, как сценарии sshd, mysql, apache2. Все они присутствуют в моей системе openSUSE 12.1, в которой вместо init используется systemd, и apache2 также доставлял мне головную боль, потому что я не мог легко понять, почему иногда это не запускалось (но мне удалось исправить ...). Так что у меня в принципе нет файла spambusters.service usr-local-ΕΨΗΕΛΩΝ 12 лет назад 0