[CentOS8] So geben Sie die Standard-Python-Ausgabe in das Systemd-Protokoll aus

Einführung

Ich habe mit Python einen Twitter-Bot erstellt, konnte ihn jedoch mit dem von der Druckfunktion ausgegebenen Befehl log systemctl status nicht sehen, sodass ich mich an die Lösung erinnere. Ich wäre Ihnen dankbar, wenn Sie mir sagen könnten, ob es einen besseren Weg gibt.

Umgebung

CentOS Linux release 8.1.1911 (Core)

Beschreibung der Gerätedatei

Beschreibung der Unit-Datei in etc \ systemd \ system \

bot.service


[Unit]
Description=Python Tweet Collector

[Service]
ExecStart=Ausführungsdatei(Hier ist ein Shell-Skript, das Bot startet)Pfad
Type=simple
StandardOutput=journal #Machen Sie die Standardausgabe in journalctl sichtbar
StandardError=journal #Machen Sie Standardfehler in journalctl sichtbar

[Install]
WantedBy=multi-user.target

Optionen beim Ausführen von Python-Befehlen

Es scheint, dass die Standardausgabe von Python möglicherweise gepuffert ist und die Ausgabe der print-Anweisung möglicherweise nicht nur mit den oben genannten Einstellungen angezeigt wird ... Also schrieb ich ein Shell-Skript und startete Bot von dort aus

start_bot.sh


#!/bin/bash

cd $(dirname $0) #Wechseln Sie in das Verzeichnis, in dem sich diese Datei befindet

. venv/bin/activate #Aktivieren Sie die virtuelle Python-Umgebung

python -u bot.py # -Deaktivieren Sie den Puffer mit der Option u

Schließlich erteilen Sie dem Shell-Skript mit ch mod 744 start_bot.sh die Ausführungsberechtigung

Starten Sie Bot

systemctl start bot.service

Überprüfen Sie den Status von Bot

systemctl status bot.service

Überprüfen Sie das Protokoll

journalctl -u bot.service

Sie können sehen, dass der von der Python-Druckanweisung ausgegebene Inhalt im Protokoll angezeigt wird.

Ende

Ich bin noch ein Anfänger in Linux, daher wäre ich sehr dankbar, wenn Sie mir Vorschläge oder Ratschläge zu unangemessenen Punkten geben könnten.

Recommended Posts

[CentOS8] So geben Sie die Standard-Python-Ausgabe in das Systemd-Protokoll aus
So geben Sie "Ketsumaimo" standardmäßig in Python aus
[GCP] Ausgeben von Cloud-Funktionsprotokollen an Cloud Logging (Stackdriver Logging) (Python)
Python-Protokoll mit GAE an die Konsole ausgeben
So installieren Sie Python3 mit Docker Centos
So installieren Sie Python
So löschen Sie die von Python ausgegebenen Zeichen
Einführung von Python 2.7 in CentOS 6.6
Ausgabeprotokoll im JSON-Format mit Python-Standardprotokollierung
[Python] So geben Sie Listenwerte der Reihe nach aus
[Neueste Version 2020.8] So installieren Sie Python
So installieren Sie Python [Windows]
python3: Verwendung der Flasche (2)
[Python] Verwendung von Liste 1
So aktualisieren Sie Pythons Tkinter auf 8.6
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
So führen Sie Notepad ++ Python aus
So ändern Sie die Python-Version
Wie man in Python entwickelt
[Python] Wie man Skalar beurteilt
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
Dekorateur zum Stummschalten der Standardausgabe
So installieren Sie Python2.7 python3.5 mit pyenv (unter RHEL5 CentOS5) (2016 Nov)
Python-Protokollierungsstandardbibliothek für die Dateiausgabe nach Protokollebene
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
Ändern Sie das Standardausgabeziel in eine Datei in Python
Grundlagen des Python-Lernens ~ Wie wird eine Zeichenkette ausgegeben (angezeigt)? ~
[Python] So geben Sie eine Pandas-Tabelle in eine Excel-Datei aus
So starten Sie Apache durch Angabe von httpd.conf mit systemd (CentOS7, CentOS8)
So melden Sie sich mit Python bei AtCoder an und senden automatisch
So installieren Sie Python mit Anaconda
[Python] Wie man MP3-Daten fFT
[Python] Wie man PCA mit Python macht
Python: So verwenden Sie Async mit
[Python] Wie man nCk ableitet (ABC156-D)
[Python] Verwendung der Pandas-Serie
Verwendung von Anfragen (Python Library)
Verwendung von SQLite in Python
Ausgabe in eine CSV-Datei mit Python
[Einführung in Python] So analysieren Sie JSON
Schreiben Sie die Standardausgabe in eine Datei
Machen Sie die Standardausgabe in Python nicht blockierend
So erhalten Sie die Python-Version
So installieren Sie PyPy unter CentOS
Erste Schritte mit Python
Unit Test Log Ausgabe mit Python
So installieren Sie TensorFlow unter CentOS 7
[Python] Verwendung von Liste 3 Hinzugefügt
Wie man MySQL mit Python benutzt
Verwendung der Python-API von OpenPose
[Python] So tauschen Sie Array-Werte aus