Systemdienst einrichten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 4: | Zeile 4: | ||
Es wird davon ausgegangen, dass diese Schritte als sudo-Mitglied gemacht werden. | Es wird davon ausgegangen, dass diese Schritte als sudo-Mitglied gemacht werden. | ||
<code>sudo nano /etc/systemd/system/dienstname.service</code> | <code>sudo nano /etc/systemd/system/dienstname.service</code> | ||
Zeile 10: | Zeile 9: | ||
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 71: | 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> |
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