Systemdienst einrichten: Unterschied zwischen den Versionen
(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. | ||
sudo nano /etc/systemd/system/dienstname.service | |||
Im einfachsten Fall reicht folgendes aus: | Im einfachsten Fall reicht folgendes aus: | ||
<code>[Unit]</code> | |||
<code>Description=Eigener Dienst</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>[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: | 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>[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>[Install]</code> | |||
<code>WantedBy=multi-user.target</code> | |||
Zum Schluss muss der Dienst noch aktiviert werden: | 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: | 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> |
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