Manchmal ist es sinnvoll, ein Script nach einem Serverneustart vollautomatisch Starten zu lassen, ohne das der Administrator hierfür manuell eingreifen muss. Bei Debian funktioniert das beispielsweise am Besten mit dem Service systemd.
Eigenen Service erstellen
Der Service wird unter etc/systemd/system angelegt. Dabei kann der Name für den Service beliebig gewählt werden. Wir gehen hierzu erst einmal ins entsprechende Verzeichnis:
cd /etc /systemd /system
Nun führen wir folgenden Befehl aus und erstellen unseren Service:
nano your-service.service
Wichtig: In die von uns erstellten Datei your-service.service muss folgendes eingetragen werden:
[Unit]
Description=Example systemd service.
[Service]
Type=simple
ExecStart=/bin/bash /path/to/your-script.sh
[Install]
WantedBy=multi-user.target
Im folgenden Beschreibe ich euch die oben genannten Positionen und deren Bedeutung:
Unit – In diesem Block können Abhängigkeiten von anderen Services beschrieben werden, aber auch die Beschreibung für den eigentlichen Service selbst.
Service – Hier werden genaue Anweisungen für den Service definiert.
Install – Beschreibt alle benötigten Informationen um den Service beim Systemstart zu starten.
Nachdem wir die Datei nun erfolgreich erstellt haben, müssen wir dem Service noch aktivieren, damit dieser vom Server nach einem Neustart auch ausgeführt wird. Dies machen wir mit folgenden Befehl:
systemctl enable your-service.service