Grundlegendes zu init-Skriptfehlern mit sysctl

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

Ich habe mein eigenes Init-Skript zum Starten einer Mono-Webanwendung in einem mod-mono-server2Container erstellt (ich habe es nicht verwendet AutoHosting, das ist mir bekannt).

Als ich openSUSE 11.4 inithatte, konnte ich auf der Konsole genau lesen, was schief lief. Jetzt musste ich meine App auf einen Server mit openSUSE 12.1 migrieren, der verwendet systemctlwird. Es ist ein Durcheinander, um herauszufinden, warum die App nicht startet.

Der Startbefehl ist nur ein typischer Befehl sudo -u mono-user mod-mono-server2 [params], der die PID in eine Datei schreibt /var/run/spambusters/(um sie zu beenden, wenn ich stoppen möchte). Wenn ich es versuche, /etc/init.d/spambusters startbekomme ich nur ein Generikum Job failed. See system logs and 'systemctl status' for details..

Aber ich kann keine weiteren Informationen bekommen .........

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/messagesNur das Systemprotokoll enthält

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 

Ich verstehe zwar, dass diese Frage auch für serverfault.com geeignet sein könnte, da sie sich auf die Serververwaltung bezieht, meine direkte Frage ist jedoch

Wie finde ich weitere Informationen zu Fehlern in einem Init-Skript, wenn der Root-Prozess systemctl anstelle von init ist?

1

1 Antwort auf die Frage

0
grawity

Wenn das Betriebssystem systemd-journald verwendet,

journalctl -a _SYSTEMD_UNIT=spambusters.service 

(Die neueste Version von systemd zeigt dasselbe systemctl status, OpenSuSE hat jedoch eine ältere Version .)


Auch nicht verwendensudo, wenn Sie es wollen, als ein anderer Benutzer ausgeführt werden . VerwendenUser=spambusters Sie stattdessen.

Kannst du den Sudo-Teil besser erklären? Wo verwende ich User = Spambuster? usr-local-ΕΨΗΕΛΩΝ vor 11 Jahren 0
@djechelon: Natürlich in der Spambusters.service-Einheit. Siehe die Handbuchseite * systemd.exec (5) *, auf der `User =` beschrieben wird. grawity vor 11 Jahren 0
Vielleicht fehlt mir etwas. Mein Skript (geerbt von einem System, in dem ich init verwendet habe) ist /etc/init.d/spambusters und wird im init-Format geschrieben, genau wie bei den Skripten sshd, mysql und apache2. Alle von ihnen sind in meinem openSUSE 12.1-System vorhanden, das systemd anstelle von init verwendet, und apache2 bereitete mir auch Kopfschmerzen, weil ich nicht leicht wissen konnte, warum es manchmal nicht startete (aber ich habe es geschafft zu beheben ...). Ich habe also grundsätzlich keine spambusters.service-Datei usr-local-ΕΨΗΕΛΩΝ vor 11 Jahren 0