Automatyzacja skryptów Python z systemem krok po kroku przewodnik
- 3122
- 530
- Tacjana Karpiński
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.cel123456789101112 | [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.