Systemdienst einrichten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
(Linux Debian/Ubuntu) - Terminal/Server | ''(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: | Um einen Systemdienst auf Linux einzurichten, um ihn als "service XYZ start" starten zu können, sind folgende Schritte nötig: | ||
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 | <code>sudo nano /etc/systemd/system/dienstname.service</code> | ||
Im einfachsten Fall reicht folgendes aus: | Im einfachsten Fall reicht folgendes aus: | ||
< | <pre> | ||
[Unit] | |||
Description=Eigener Dienst | |||
[Service] | |||
WorkingDirectory=/srv | |||
ExecStart=/srv/script.sh arg1 arg2 | |||
User=scripter | |||
Restart=always | |||
[Install] | |||
WantedBy=multi-user.target | |||
</pre> | |||
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: | ||
< | <pre> | ||
[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 | |||
</pre> | |||
Zum Schluss muss der Dienst noch aktiviert werden: | Zum Schluss muss der Dienst noch aktiviert werden: | ||
Zeile 66: | Zeile 52: | ||
<code>sudo service dienst start</code> | <code>sudo service dienst start</code> | ||
<code>sudo service dienst status</code> | <code>sudo service dienst status</code> | ||
<code>sudo service dienst stop</code> | <code>sudo service dienst stop</code> |
Aktuelle Version vom 29. April 2024, 13:19 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