Automatyzacja skryptów Python z systemem krok po kroku przewodnik

Automatyzacja skryptów Python z systemem krok po kroku przewodnik

Pytanie: Jak autorunować skrypt Python za pomocą SystemD. Jak stworzyć własną usługę systemu za pomocą skryptu Python. Jak skonfigurować skrypt Python, aby zacząć jako systemd. Jak zarządzać usługą Python z systememctl?

„Systemd” to menedżer systemu i usług dla systemu Linux, który umożliwia zarządzanie usługami i kontrolowaniem usług i demonów w twoim systemie. Możesz użyć SystemD do automatyzacji wykonywania skryptów Python, tworząc usługę systemD, która uruchamia skrypt podczas uruchamiania lub w harmonogramie.

Korzystanie z SystemD do automatyzacji skryptów Python ma kilka zalet, w tym możliwość uruchamiania i zatrzymywania skryptu w razie potrzeby, uruchamianie skryptu w tle jako demona oraz konfigurację zależności i opcji wykonania czasu wykonania.

Oto przewodnik krok po kroku, jak zautomatyzować skrypt Python za pomocą SystemD:

Krok 1 - Utwórz przykładową aplikację Pythona

Utwórz skrypt Python, który chcesz zautomatyzować. Na przykład powiedzmy, że masz skrypt o nazwie Myscript.py, który chcesz biegać co godzinę.

sudo nano/usr/bin/myscript.py  

Dodaj następującą zawartość do skryptu. Możesz użyć własnego skryptu Python zgodnie z wymaganiami.

#!/usr/bin/python3 gniazdo importowe s = gniazdo.gniazdo (gniazdo.AF_INET, gniazdo.Sock_stream) s.bind ((„localhost”, 9988)) s.Słuchaj (1), podczas gdy true: conn, addr = s.Accept () Data = Conn.recv (1024) Conn.close () my_function_that_handles_data (dane)
123456789101112#!/usr/bin/python3 gniazda importu = gniazdo.gniazdo (gniazdo.AF_INET, gniazdo.Sock_stream) s.bind ((„localhost”, 9988)) s.Słuchaj (1), podczas gdy true: conn, addr = s.Accept () Data = Conn.recv (1024) Conn.close () my_function_that_handles_data (dane)

Naciskać „Ctrl + x” a następnie naciśnij „Y” i uderz 'Wchodzić' przycisk, aby zapisać i zamknąć plik.

Krok 2 - Utwórz plik serwisowy SystemD

Utwórz plik usługi SystemD, który określa skrypt, który chcesz uruchomić, oraz wszelkie dodatkowe opcje lub zależności. Plik usługi powinien zostać nazwany po usłudze i powinien zakończyć się .rozszerzenie usługi. Na przykład, aby utworzyć usługę nazwaną Myscript, Możesz utworzyć plik o nazwie „Myscript.praca' w „/etc/systemd/system” informator.

sudo nano/lib/systemd/system/myscript.praca  

Dodaj do niej następującą zawartość. Zmień nazwę pliku i lokalizację skryptu Pythona.

[Jednostka] Opis = niestandardowa usługa Python After = Multi-User.Konflikty docelowe = [email protected] [Service] Type = Simple ExecStart =/usr/bin/python3/usr/bin/myscript.PY standardinput = tty-force [instalacja] Wantedby = Multi-User.cel
123456789101112[Jednostka] Opis = niestandardowy Python Serwice (Multi-User.TargetConflicts = [email protected] [Service] Type = SimpleExecStart =/usr/bin/python3/usr/bin/myscript.pytaStardInput = tty-force [instalacja] Wantby = multi-użytkownik.cel

Naciskać „Ctrl + x” a następnie naciśnij „Y” i uderz 'Wchodzić' przycisk, aby zapisać i zamknąć plik.

Krok 3 - Włącz i uruchom usługę

Załaduj demona SystemD, aby odebrać nowy plik serwisowy. Możesz użyć „SystemCtl” polecenie do ponownego załadowania demona i udostępnienia usługi.

Sudo Systemctl Demon-Reload  

Włącz usługę uruchamiania przy uruchomieniu. Możesz użyć „SystemCtl” polecenie, aby włączyć usługę, co spowoduje, że uruchomi się automatycznie, gdy systemu uruchamia.

sudo systemctl włącz myscript.praca  

Możesz użyć „SystemCtl” polecenie, aby rozpocząć usługę ręcznie lub możesz poczekać, aż następny uruchomienie systemu uruchomi skrypt automatyczne.

sudo systemctl start myscript.praca  

Krok 4 - Sprawdź status usługi

Na koniec sprawdź aktualny stan usługi, uruchamiając następujące polecenie.

Myscript sudo SystemCtl MyScript.praca  

Wniosek

Podsumowując, SystemD jest potężnym narzędziem do automatyzacji wykonywania skryptów Python w systemach Linux. Tworząc usługę SystemD i umożliwiając jej uruchamianie w uruchomieniu lub w harmonogramie, możesz upewnić się, że skrypty Python są uruchamiane konsekwentnie i niezawodnie.

Ogólnie rzecz biorąc, SystemD jest przydatnym narzędziem do automatyzacji wykonywania skryptów Python i może pomóc w skuteczniejszym zarządzaniu i utrzymaniu skryptów i utrzymywania scenariuszy. Mam nadzieję, że ten artykuł zawierał pomocny przewodnik po automatyzacji skryptów Python z SystemD i zachęcam do zbadania wielu innych funkcji i możliwości tego potężnego narzędzia.