GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus

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.

Shell
1234567 #!/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.


Linux
  1. So erstellen Sie einen Systemd-Dienst unter Linux

  2. Wie schreibe ich ein Startskript für Systemd?

  3. Wie führe ich ein Shell-Skript im Hintergrund aus?

  4. So führen Sie Python-Skripte von der Shell aus

  5. So listen Sie Systemd-Dienste unter Linux auf

So führen Sie Container als Systemd-Dienst mit Podman aus

So führen Sie einen Linux-Shell-Befehl / ein Skript im Hintergrund aus

So führen Sie Windows 95 unter Linux aus

So führen Sie Shell-Skript als Systemd-Dienst in Linux aus

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

So erstellen und führen Sie ein Shell-Skript in Ubuntu 22.04 aus