wollowitz
Goto Top

Service xxx restart - systemctl restart xxx - systemctl restart xxx.service funktioniert - wie in "Autostart"

Hallo zusammen,

ich habe hier ein ziemlich verwürfeltes System.
"SUSE Linux Enterprise Server 12 SP3"

Hier läuft ein Service der der nach jedem Serverbooten wieder neu gestartet werden muss.

Starten geht über die im Titel genannten Kommandos.
Wie kann ich dafür sorgen, dass der Service automatisch startet.

Habe da schon ein wenig rumgestochert, aber bis jetzt nicht wirklich Fortschritte gemacht.

Vielleicht gibt´s mehrere Ansätze?

Danke schon mal.

Content-ID: 565245

Url: https://administrator.de/forum/service-xxx-restart-systemctl-restart-xxx-systemctl-restart-xxx-service-funktioniert-wie-in-autostart-565245.html

Ausgedruckt am: 22.12.2024 um 10:12 Uhr

SlainteMhath
SlainteMhath 16.04.2020 um 11:25:23 Uhr
Goto Top
Wollowitz
Wollowitz 16.04.2020 um 11:53:57 Uhr
Goto Top
Klingt gut, funktioniert aber nicht.

sudo systemctl enable xxx
Failed to execute operation: Invalid argument

sudo systemctl enable xxx.service
Failed to execute operation: Invalid argument


Mein Script in /etc/systemd/system/xxx.service

[Unit]
Description=xxx
;After=syslog.target network.target

[Service]
;Type=simple
;User=user
;Group=user
ExecStart=/opt/xxx/bin/run.sh

[Install]
WantedBy=multi-user.target

dabei mit und ohne auskommentierten Sachen probiert.

Was mach ich da falsch??
SlainteMhath
SlainteMhath 16.04.2020 um 12:03:43 Uhr
Goto Top
und /opt/xxx/bin/run.sh lässt sich ohne Fehlermeldung aufrufen?

Nur ums nochmal klar zustellen:
Wenn du (warum auch immer) den Service beim booten restartetn willst, dann brauchst du einen "service" der das macht.

Also pack "systemctl restart xxx" in ein script unter /usr/local/bin und erstelle dann einen systemd service der as script startet.

Wie ist in dem Artikel beschrieben.
bloodstix
bloodstix 16.04.2020 um 12:56:45 Uhr
Goto Top
Hi,

hast du ein "systemctl daemon-reload" gemacht nach dem Anlegen der Service-Datei?

Gruß
bloody
Wollowitz
Wollowitz 16.04.2020 um 13:24:08 Uhr
Goto Top
Hi,

danke für die Anmerkung. Hilft aber leider auch nicht.
Wollowitz
Wollowitz 16.04.2020 um 14:01:34 Uhr
Goto Top
Zitat von @SlainteMhath:

und /opt/xxx/bin/run.sh lässt sich ohne Fehlermeldung aufrufen?

Jupp, ich starte dann sudo -u user /opt/xxx/bin/run.sh --> dann sehe ich aber wie der Service vor sich hinarbeitet.
Starte ich es als root dann mekert das Script, dass es nicht als root ausgeführt werden sollte.

Nur ums nochmal klar zustellen:
Wenn du (warum auch immer) den Service beim booten restartetn willst, dann brauchst du einen "service" der das macht.

Hier hab ich mich unklar ausgedrückt. Ich will den Service nicht restarten sondern einfach nur starten. Als quasi:
service xxx start - systemctl start xxx - systemctl start xxx.service

Eins von denen muss ich aber nach dem Booten manuell ausführen damit der Service startet. Das will ich automatisieren.

Also pack "systemctl restart xxx" in ein script unter /usr/local/bin und erstelle dann einen systemd service der as script startet.


Das wäre ja dann script in script in script.

So wie ich es verstehe Starte ich mit dem dem xxx.service script in /etc/systemd/system/ das eigentliche Script auf /opt/xxx/bin/run.sh
aber als anderer User und so weiter.

Oder versteh ich da was falsch? Was mich extrem verwirrt ist die Tatsache, dass die Commands: service xxx start - systemctl start xxx - systemctl start xxx.service alle funktionieren. Ich kann jeweils starten, stoppen, oder restarten. Das kann doch auch nicht gut sein^^
SlainteMhath
SlainteMhath 16.04.2020 um 14:30:23 Uhr
Goto Top
Achso, ok, sorry dann hab ich das tats. falsch gelesen O.o (Im Betreff schreibt die aber "restart" - mehrmals)

Der Service soll also ganze einfach nach Rechner-Start starten? Dann sieht doch dein Service File oben gut aus.
User, Group und After wirst du brauchen das das Teil korrekt startet. Und wenn's das nicht tot hilft evtl. ein Blick ins Logfile btw. systemd-journal.

Was mich extrem verwirrt ist die Tatsache, dass die Commands: service xxx start - systemctl start xxx - systemctl start xxx.service alle funktionieren. Ich kann jeweils starten, stoppen, oder restarten. Das kann doch auch nicht gut sein^^

Vielleicht stimmen die Abhängigkeiten des Services nicht?
Wollowitz
Wollowitz 16.04.2020 um 17:16:23 Uhr
Goto Top
Wie prüfe ich denn die Abhängigkeiten?
SlainteMhath
SlainteMhath 17.04.2020 um 07:17:41 Uhr
Goto Top
Dokumentation und/oder Logfiles lesen oder mit dem Hersteller/Programmierer sprechen
cykes
cykes 17.04.2020 aktualisiert um 07:33:48 Uhr
Goto Top
Moin,

probiere es mal mit:
sudo insserv xxx(.service)
oder
sudo chkconfig xxx(.service) on
Seit der Einführung von systemd gibt es da noch einiges Durcheinander. Weitere Informationen auch im Whitepaper zum systemd SuSE 12

Ansonsten Logdateien durchforsten, was beim Systemstart genau passiert.

Aber das run.sh Script führt genau was aus, das könnte ggf. auch noch relevant sein, sollte es ein (legacy) SysV runlevel script sein, kann das funktionieren oder auch nicht.

Gruß

cykes