Systemdienst einrichten
(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.
<code>sudo nano /etc/systemd/system/dienstname.service</code>
Im einfachsten Fall reicht folgendes aus:
<code>[Unit]</code>
<code>Description=Eigener Dienst</code>
<code></code>
<code>[Service]</code>
<code>WorkingDirectory=/srv</code>
<code>ExecStart=/srv/script.sh arg1 arg2</code>
<code>User=scripter</code>
<code>Restart=always</code>
<code></code>
<code>[Install]</code>
<code>WantedBy=multi-user.target</code>
In einigen Fällen, vor allem wenn while-Schleifen zum Einsatz kommen, kann dies auch komplexer werden:
<code>[Unit]</code>
<code>Description=Eigener dienst</code>
<code>After=network.target</code>
<code>Restart=always</code>
<code>RestartSec=5</code>
<code></code>
<code>[Service]</code>
<code>ExecStart=/srv/script.sh arg1 arg2</code>
<code>WorkingDirectory=/srv</code>
<code>User=scripter</code>
<code>Group=scripter</code>
<code>Restart=always</code>
<code>StandardOutput=journal</code>
<code>StandardError=journal</code>
<code></code>
<code>[Install]</code>
<code>WantedBy=multi-user.target</code>
Zum Schluss muss der Dienst noch aktiviert werden:
<code>sudo systemctl enable dyndnsupdater.service</code>
Und anschließend kann der dienst gestartet und auf den Status geschaut werden:
<code>sudo service dienst start</code>
<code>sudo service dienst status</code>
<code>sudo service dienst stop</code>