Systemdienst einrichten: Unterschied zwischen den Versionen

Aus behwiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „(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. <nowiki><code>sudo nano /etc/systemd/system/dienstname.service</code></nowiki> Im einfachsten Fall reicht folgendes aus: <nowiki><code>[Unit]</code></nowiki> <nowiki><code>Description=Eigener Dienst</code…“)
 
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:
Es wird davon ausgegangen, dass diese Schritte als sudo-Mitglied gemacht werden.
Es wird davon ausgegangen, dass diese Schritte als sudo-Mitglied gemacht werden.


<nowiki><code>sudo nano /etc/systemd/system/dienstname.service</code></nowiki>
sudo nano /etc/systemd/system/dienstname.service


Im einfachsten Fall reicht folgendes aus:
Im einfachsten Fall reicht folgendes aus:


<nowiki><code>[Unit]</code></nowiki>
<code>[Unit]</code>


<nowiki><code>Description=Eigener Dienst</code></nowiki>
<code>Description=Eigener Dienst</code>


<nowiki><code></code></nowiki>
<code>[Service]</code>


<nowiki><code>[Service]</code></nowiki>
<code>WorkingDirectory=/srv</code>


<nowiki><code>WorkingDirectory=/srv</code></nowiki>
<code>ExecStart=/srv/script.sh arg1 arg2</code>


<nowiki><code>ExecStart=/srv/script.sh arg1 arg2</code></nowiki>
<code>User=scripter</code>


<nowiki><code>User=scripter</code></nowiki>
<code>Restart=always</code>


<nowiki><code>Restart=always</code></nowiki>
<code>[Install]</code>


<nowiki><code></code></nowiki>
<code>WantedBy=multi-user.target</code>
 
<nowiki><code>[Install]</code></nowiki>
 
<nowiki><code>WantedBy=multi-user.target</code></nowiki>


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


<nowiki><code>[Unit]</code></nowiki>
<code>[Unit]</code>
 
<nowiki><code>Description=Eigener dienst</code></nowiki>
 
<nowiki><code>After=network.target</code></nowiki>


<nowiki><code>Restart=always</code></nowiki>
<code>Description=Eigener dienst</code>


<nowiki><code>RestartSec=5</code></nowiki>
<code>After=network.target</code>


<nowiki><code></code></nowiki>
<code>Restart=always</code>


<nowiki><code>[Service]</code></nowiki>
<code>RestartSec=5</code>


<nowiki><code>ExecStart=/srv/script.sh arg1 arg2</code></nowiki>
<code>[Service]</code>


<nowiki><code>WorkingDirectory=/srv</code></nowiki>
<code>ExecStart=/srv/script.sh arg1 arg2</code>


<nowiki><code>User=scripter</code></nowiki>
<code>WorkingDirectory=/srv</code>


<nowiki><code>Group=scripter</code></nowiki>
<code>User=scripter</code>


<nowiki><code>Restart=always</code></nowiki>
<code>Group=scripter</code>


<nowiki><code>StandardOutput=journal</code></nowiki>
<code>Restart=always</code>


<nowiki><code>StandardError=journal</code></nowiki>
<code>StandardOutput=journal</code>


<nowiki><code></code></nowiki>
<code>StandardError=journal</code>


<nowiki><code>[Install]</code></nowiki>
<code>[Install]</code>


<nowiki><code>WantedBy=multi-user.target</code></nowiki>
<code>WantedBy=multi-user.target</code>


Zum Schluss muss der Dienst noch aktiviert werden:
Zum Schluss muss der Dienst noch aktiviert werden:


<nowiki><code>sudo systemctl enable dyndnsupdater.service</code></nowiki>
<code>sudo systemctl enable dyndnsupdater.service</code>


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


<nowiki><code>sudo service dienst start</code></nowiki>
<code>sudo service dienst start</code>


<nowiki><code>sudo service dienst status</code></nowiki>
<code>sudo service dienst status</code>


<nowiki><code>sudo service dienst stop</code></nowiki>
<code>sudo service dienst stop</code>

Version vom 29. April 2024, 13:10 Uhr

(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