Systemdienst einrichten

Aus behwiki
Version vom 29. April 2024, 13:19 Uhr von Mariobeh (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

(Linux Debian/Ubuntu) - Terminal/Server

Um einen Systemdienst auf Linux einzurichten, um ihn als "service XYZ start" starten zu können, sind folgende Schritte nötig:

Es wird davon ausgegangen, dass diese Schritte als sudo-Mitglied gemacht werden.

sudo nano /etc/systemd/system/dienstname.service

Im einfachsten Fall reicht folgendes aus:

[Unit]
Description=Eigener Dienst

[Service]
WorkingDirectory=/srv
ExecStart=/srv/script.sh arg1 arg2
User=scripter
Restart=always

[Install]
WantedBy=multi-user.target

In einigen Fällen, vor allem wenn while-Schleifen zum Einsatz kommen, kann dies auch komplexer werden:

[Unit]
Description=Eigener dienst
After=network.target
Restart=always
RestartSec=5

[Service]
ExecStart=/srv/script.sh arg1 arg2
WorkingDirectory=/srv
User=scripter
Group=scripter
Restart=always
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Zum Schluss muss der Dienst noch aktiviert werden:

sudo systemctl enable dyndnsupdater.service

Und anschließend kann der dienst gestartet und auf den Status geschaut werden:

sudo service dienst start sudo service dienst status sudo service dienst stop