Seite 1 von 1

Überprüfung Programmausführung

Verfasst: Dienstag 18. Juli 2023, 23:25
von jbanata
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??

Re: Überprüfung Programmausführung

Verfasst: Mittwoch 19. Juli 2023, 06:55
von Sirius3
Du mußt den Zähler aus einer Datei lesen und ihn wieder hineinschreiben.

Re: Überprüfung Programmausführung

Verfasst: Mittwoch 19. Juli 2023, 10:35
von noisefloor
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

Re: Überprüfung Programmausführung

Verfasst: Dienstag 25. Juli 2023, 21:09
von jbanata
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ß

Re: Überprüfung Programmausführung

Verfasst: Dienstag 25. Juli 2023, 21:12
von jbanata
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