Überprüfung Programmausführung

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
jbanata
User
Beiträge: 3
Registriert: Dienstag 18. Juli 2023, 23:16

Hallo,
ich bin absoluter PYTHON-Neuling und benötige Unterstützung bei folgender Aufgabe:
Mittels "crontab" wird täglich ein kleines PYTHON-Progrämmchen ausgeführt, welches eine schaltbare Steckdose kurzzeitig ein- u. wieder ausschaltet.
Diesen Vorgang möchte ich im Nachhinein überprüfen; und zwar wollte ich dazu eine Variable im PYTHON-Prg. hochzählen.
Funzt leider nicht so einfach, weil die Variable nach Prg.ende weg ist und beim nächsten Prg.aufruf wieder mit den selben Werten beschrieben wird.
Was kann ich tun??
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Du mußt den Zähler aus einer Datei lesen und ihn wieder hineinschreiben.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

du kannst alternativ auch dein Programm um Logging erweitern und nach jeder erfolgreichen Ausführung eine Zeile in eine Log-Datei schreiben. In Python geht das über das `logging` Modul.

Plan B: statt das ältere Crontab den eher aktuellen Weg gehen und ein systemd Timer Unit nutzen. In systemd könntest du den Zähler über eine systemd Environment Variable implementieren, entweder flüchtig (=ist nach einem Neustart des Rechners weg) oder persistent für die Unit.

Gruß, noisefloor
jbanata
User
Beiträge: 3
Registriert: Dienstag 18. Juli 2023, 23:16

Sirius3 hat geschrieben: Mittwoch 19. Juli 2023, 06:55 Du mußt den Zähler aus einer Datei lesen und ihn wieder hineinschreiben.
Danke für die Antwort! Ich weiß zwar, wie man in eine Datei schreibt, aber noch nicht, wie ich sie auslese. Muss ich mir wohl anlesen.
Gruß
jbanata
User
Beiträge: 3
Registriert: Dienstag 18. Juli 2023, 23:16

noisefloor hat geschrieben: Mittwoch 19. Juli 2023, 10:35 Hallo,

du kannst alternativ auch dein Programm um Logging erweitern und nach jeder erfolgreichen Ausführung eine Zeile in eine Log-Datei schreiben. In Python geht das über das `logging` Modul.

Plan B: statt das ältere Crontab den eher aktuellen Weg gehen und ein systemd Timer Unit nutzen. In systemd könntest du den Zähler über eine systemd Environment Variable implementieren, entweder flüchtig (=ist nach einem Neustart des Rechners weg) oder persistent für die Unit.

Gruß, noisefloor
Auch Dir vielen Dank! Genau das mache ich schon bei einerKommunikationsüberwachung mittels zyklischem "Ping".
Ich denke, für mich ist das vorerst der einfachste Weg.

Thema durch.

Gruß
jbanata
Antworten