Automatisieren von Python-Skripten mit Systemd eine Schritt-für-Schritt-Anleitung

Automatisieren von Python-Skripten mit Systemd eine Schritt-für-Schritt-Anleitung

Frage: So autorun ein Python -Skript mit Systemd autorun. So erstellen Sie einen eigenen Systemd -Dienst mithilfe von Python -Skript. So konfigurieren Sie das Python -Skript, um als Systemd zu beginnen. So verwalten Sie den Python -Service mit SystemCTL?

"Systemd" ist ein System- und Service -Manager für Linux, mit dem Sie Dienste und Daemons in Ihrem System verwalten und steuern können. Sie können Systemd verwenden, um die Ausführung von Python -Skripten zu automatisieren, indem Sie einen Systemd -Dienst erstellen, der das Skript beim Start oder in einem Zeitplan ausführt.

Die Verwendung von Systemd zur Automatisierung von Python -Skripten hat mehrere Vorteile, einschließlich der Möglichkeit, das Skript nach Bedarf zu starten und zu stoppen, das Skript im Hintergrund als Daemon auszuführen und Abhängigkeiten und Laufzeitoptionen zu konfigurieren.

Hier finden Sie eine Schritt-für-Schritt-Anleitung zum Automatisieren eines Python-Skripts mit Systemd:

Schritt 1 - Erstellen Sie Beispielpythonanwendung

Erstellen Sie ein Python -Skript, das Sie automatisieren möchten. Nehmen wir zum Beispiel an, Sie haben ein Skript namens MyScript.py, dass Sie jede Stunde laufen möchten.

sudo nano/usr/bin/myScript.py  

Fügen Sie dem Skript den folgenden Inhalt hinzu. Sie können Ihr eigenes Python -Skript gemäß den Anforderungen verwenden.

#!/usr/bin/python3 Import Socket S = Socket.Sockel (Sockel.Af_inet, Sockel.SOCK_STREAM) s.bind (("localhost", 9988) s.Hören Sie (1), während wahr: conn, addr = s.Accept () Data = conn.Recv (1024) conn.close () my_function_that_handles_data (Daten)
123456789101112#!/usr/bin/python3 Import Sockets = Socket.Sockel (Sockel.Af_inet, Sockel.SOCK_STREAM) s.bind (("localhost", 9988) s.Hören Sie (1), während wahr: conn, addr = s.Accept () Data = conn.Recv (1024) conn.close () my_function_that_handles_data (Daten)

Drücken Sie 'Strg + x' und dann drücken Sie "Y" und schlagen 'Eingeben' Schaltfläche zum Speichern und Schließen der Datei.

Schritt 2 - Erstellen Sie eine Systemd -Dienstdatei

Erstellen Sie eine Systemd -Dienstdatei, die das Skript angibt, das Sie ausführen möchten, sowie zusätzliche Optionen oder Abhängigkeiten. Die Dienstdatei sollte nach dem Dienst benannt werden und mit dem enden .Serviceerweiterung. Zum Beispiel um einen Dienst namens zu erstellen MyScript, Sie können eine Datei namens erstellen 'MyScript.Service' im '/etc/systemd/system' ' Verzeichnis.

sudo nano/lib/systemd/system/myScript.Service  

Fügen Sie dem folgenden Inhalt hinzu. Ändern Sie den Python -Skript -Dateinamen und den Standort.

[Einheit] Beschreibung = benutzerdefinierter Python-Service nach = Multi-User.Zielkonflikte = [email protected] [Service] type = Simple ExecStart =/usr/bin/python3/usr/bin/myScript.py StandardInput = tty-force [install] suchtby = multi-user.Ziel
123456789101112[Einheit] Beschreibung = benutzerdefinierte Python Servicer = Multi-User.targetConflicts = [email protected] [Service] type = SimpleExecstart =/usr/bin/python3/usr/bin/myScript.PyStandardInput = tty-force [install] suchtby = multi-user.Ziel

Drücken Sie 'Strg + x' und dann drücken Sie "Y" und schlagen 'Eingeben' Schaltfläche zum Speichern und Schließen der Datei.

Schritt 3 - Aktivieren und starten Sie den Service

Laden Sie den Systemd -Daemon neu, um die neue Servicedatei abzuholen. Du kannst den ... benutzen 'SystemCTL' Befehl zum Nachladen des Daemons und zur verfügbaren Dienstleistung.

sudo systemctl dämon-reload  

Aktivieren Sie den Dienst, um beim Start zu laufen. Du kannst den ... benutzen 'SystemCTL' Befehl zum Aktivieren des Dienstes, der dazu führt, dass er automatisch beginnt, wenn das System startet.

sudo systemctl aktivieren myScript.Service  

Du kannst den ... benutzen 'SystemCTL' Befehl zum manuellen Starten des Dienstes oder Sie können warten, bis das nächste Systemstart des Skripts automatisch ausgeführt wird.

sudo systemctl starten myScript.Service  

Schritt 4 - Service Status überprüfen

Überprüfen Sie schließlich den aktuellen Dienststatus, indem Sie den folgenden Befehl ausführen.

sudo systemctl Status myScript.Service  

Abschluss

Zusammenfassend ist Systemd ein leistungsstarkes Tool zur Automatisierung der Ausführung von Python -Skripten auf Linux -Systemen. Durch das Erstellen eines Systemd -Dienstes und zum Ausführen von Start oder Zeitplan können Sie sicherstellen, dass Ihre Python -Skripte konsequent und zuverlässig ausgeführt werden.

Insgesamt ist SystemD ein nützliches Instrument zur Automatisierung der Ausführung von Python -Skripten und kann Ihnen helfen, Ihre Skripte effektiver zu verwalten und zu verwalten. Ich hoffe.