Start Stop Spring Boot

Hallo zusammen,
wie starte und stoppe ich sicher eine executable jar auf Linux debian?

Hab immer systemd genommen aber auf neuen Servern gibt es kein sudo mehr das wurde entfernt und als nicht sudo-user kann ich keine Services starten. Gibt es eine alternative oder muss ich mich an unsere Serverleute wenden? Gibt doch bestimmt noch "bessere" Möglichkeiten als systemd?
 
K

kneitzel

Eine gute Übersicht über diverse Möglichkeiten bietet
https://www.baeldung.com/spring-boot-shutdown

Aber generell ist der korrekte Weg auf einem Linux System, dass man init.d oder systemd verwendet, was in der Spring Dokumentation ja auch beschrieben ist (und das ich ja nach Deiner Aussage auch schon macht):
https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

Daher ist dies tatsächlich lediglich eine Frage der Administration! Und da sollen die Admins das machen, was Sie für richtig erachten. Einen Workaround wie teilweise im ersten Link beschrieben, lehne ich ab.
Als ganz klar: Kein besserer Weg sondern ein schlechterer Weg und es vermengt die Aufgaben. Die Administratoren sind nun einmal verantwortlich für die Services.

Die Admins werden da bestimmt schon eine Lösung haben. Falls sudo nicht mehr das Tool der Wahl ist, dann haben sie ggf. andere Lösungen. Diese Lösungen laufen meist unter einem anderen User durch ein sogenanntes setuid-Flag des Binaries (so hat sudo ein setuid-Flag und gehört root, so dass es immer als root läuft).

Ansonsten kann man eine Spring Boot Applikation ja auch laufen lassen ohne Systemd. Es ist halt einfach eine Applikation, welche ein User starten kann. Somit könnte ein User die Applikation starten und schon läuft diese.
Da der Anwender aber nicht ständig eingeloggt bleiben will mit Terminal, in dem die Applikation läuft, kann man dann nohup oder screen oder vergleichbar nutzen.
Wenn man sicher gehen will, dass der Service immer läuft (auch nach einem Reboot), dann kann man das ggf. per Script machen, welches regelmäßig vom Crontab aufgerufen wird ....
==> Blöder Workaround, Warum etwas nachbauen, was das System doch schon kann? Dazu gibt es Systemd! Sprich mit den Admins!

Und evtl. ist es ein System, auf dem nur bestimmte Admins tätig sein sollen. Dann würde das bedeuten: Wende Dich an die Admins damit die die Applikation stoppen und starten oder sonst irgendwas machen.
 
vielen Dank für Deine ausführliche Antwort! Die Kollegen meinen man kann services auch als nicht root user installieren. Das testen wir mal
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben