Systemd ist eine Softwareanwendung, die eine Reihe von Systemkomponenten für Linux-Betriebssysteme bereitstellt. Es ist der erste Dienst, der die Startsequenz initialisiert. Dies läuft immer mit PID 1. Dies hilft auch bei der Verwaltung von System- und Anwendungsdiensten auf unserem Linux-Betriebssystem.
Wir können auch jedes benutzerdefinierte Skript als systemd-Dienst ausführen. Es hilft dem Skript, beim Systemstart zu starten. Dies kann für Sie hilfreich sein, um jedes Skript auszuführen, das nur beim Booten oder immer ausgeführt werden muss.
In unserem vorherigen Tutorial haben wir Ihnen Anweisungen zum Ausführen eines Python-Skripts mit Systemd gegeben. Dieses Tutorial versucht, ein Shell-Skript als Systemd-Dienst auszuführen.
Schritt 1 – Erstellen Sie ein Shell-Skript
Erstellen Sie zunächst ein Beispiel-Shell-Skript, das immer ausgeführt wird, bis das System läuft. Wir werden die Bash-While-Schleife verwenden, um unendlich zu laufen.
sudo nano /usr/bin/script.sh
Fügen Sie das folgende Beispielskript hinzu.
Shell1234567 | #!/bin/bash while truedo // Ihre Aussagen kommen hierher schlafen 10fertig |
Skript speichern und Ausführungsberechtigung festlegen.
sudo chmod +x /usr/bin/script.sh
Um ein Skript einmal während des Systemstarts auszuführen, ist keine Endlosschleife erforderlich. Anstelle des obigen Skripts können Sie Ihr Shell-Skript verwenden, um es als Systemd-Dienst auszuführen.
Schritt 2 – Erstellen Sie eine SystemD-Datei
Erstellen Sie als Nächstes eine Servicedatei für systemd auf Ihrem System. Diese Datei muss .service
haben Erweiterung und unter /lib/systemd/system/
gespeichert Verzeichnis
sudo nano /lib/systemd/system/shellscript.service
Fügen Sie nun den folgenden Inhalt hinzu und aktualisieren Sie den Dateinamen und den Speicherort des Skripts. Sie können auch die Beschreibung des Dienstes ändern.
[Unit] Description=My Shell Script [Service] ExecStart=/usr/bin/script.sh [Install] WantedBy=multi-user.target
Speichern Sie die Datei und schließen Sie sie.
Schritt 3 – Neuen Dienst aktivieren
Ihr Systemdienst wurde Ihrem Dienst hinzugefügt. Lassen Sie uns den systemctl-Daemon neu laden, um die neue Datei zu lesen. Sie müssen diesen Dämon jedes Mal neu laden, nachdem Sie Änderungen in der .service-Datei vorgenommen haben.
sudo systemctl daemon-reload
Aktivieren Sie nun den Dienst so, dass er beim Systemstart gestartet wird, und starten Sie den Dienst auch mit den folgenden Befehlen.
sudo systemctl enable shellscript.service
sudo systemctl start shellscript.service
Stellen Sie abschließend sicher, dass das Skript als systemd-Dienst ausgeführt wird.
sudo systemctl status shellscript.service
Die Ausgabe sieht wie folgt aus:
Schlussfolgerung
Dieses Tutorial hat Ihnen geholfen, ein Shell-Skript als systemd-Dienst zu konfigurieren.