ubuntuusers.de

cron: Änderungen werde nicht übernommen

Status: Gelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

AugustQ

Anmeldungsdatum:
24. Oktober 2007

Beiträge: 767

Hi,

eine Frage: auf meinem RasPi soll ein Skript laufen, und zwar jede Minute von 5 bis 22 Uhr. Folgendes habe ich dazu in cron eingetragen (via crontab -e):

* 5-22 * * *        python3 /home/august/Solar/TestSolar.py

Allerdings startete das Skript zum ersten Mal um 6 Uhr (falsch) und das letzte Mal um 21:59 Uhr (richtig). Also habe ich den Eintrag geändert in:

* 4-22 * * *        python3 /home/august/Solar/TestSolar.py

Ergebnis: as before. Erster Start um 6:00 Uhr. Auch ein:

sudo service cron reload

änderte daran nichts.

Was mache ich da falsch?

Schönen Gruß AugustQ

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14382

AugustQ schrieb:

Erster Start um 6:00 Uhr.

Wie stellst Du den ersten Start fest? Wie ist jetzt die Ausgabe von:

date

?

AugustQ

(Themenstarter)

Anmeldungsdatum:
24. Oktober 2007

Beiträge: 767

das Skript schreibt Daten in Files, die im Namen Datum und Uhrzeit enthalten:

-rw-rw-r-- 1 august august 1043 Jul  2 21:57 panel20230702215702.json
-rw-rw-r-- 1 august august 1043 Jul  2 21:58 panel20230702215801.json
-rw-rw-r-- 1 august august 1043 Jul  2 21:59 panel20230702215901.json
-rw-rw-r-- 1 august august 1035 Jul  3 06:00 panel20230703060001.json
-rw-rw-r-- 1 august august 1035 Jul  3 06:01 panel20230703060102.json
-rw-rw-r-- 1 august august 1035 Jul  3 06:02 panel20230703060201.json
-rw-rw-r-- 1 august august 1035 Jul  3 06:03 panel20230703060301.json

Also: YYYYMMDDHHMMSS letzte Datei am 2. 7.: 21:59 Uhr nächste Datei, dann am 3.7.: 6:00 Uhr.

Ausserdem lieferte das Skript 960 Dateien für den 2.7. Und nach meiner Rechnung müssten dies 60 Stück mehr sein, also für die Zeit von 5 bis 6 Uhr.

AugustQ

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14382

AugustQ schrieb:

das Skript schreibt Daten in Files, ...

Du hast meine Fragen nicht richtig beantwortet.
Ich denke, es liegt an deinem Script und nicht am cronjob aus der user-crontab. Es gibt gute Möglichkeiten die Ausführung zu testen, z. B. mit logger.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

und cron loggt ueblicherweise, wann cronjobs gestartet werden

AugustQ

(Themenstarter)

Anmeldungsdatum:
24. Oktober 2007

Beiträge: 767

@lubux:

Scheiße, Du hast recht.

Im Rahmen des Tests habe ich ein paar Zeilen in mein Skript eingefügt, nämlich solche:

now = datetime.now()
# if now.hour <= 5 :
#    exit(0)

# if now.hour >= 22 :
#    exit(0)

Später habe ich dann gesehen, daß ich das auch via cron lösen kann. Und dann habe ich vergessen, daß ich diese Prüfung noch drin habe.

Mein Fehler. ich bitte um Entschuldigung. Jetzt habe ich sie auskommentiert.

AugustQ

AugustQ

(Themenstarter)

Anmeldungsdatum:
24. Oktober 2007

Beiträge: 767

@sebix:

cron schreibt in /var/log/syslog. (gerade gefunden).

Und siehe da:

....
Jul  3 04:00:01 RasPi4AQ CRON[103789]: (august) CMD (python3 /home/august/Solar/TestSolar.py)
Jul  3 04:01:01 RasPi4AQ CRON[103804]: (august) CMD (python3 /home/august/Solar/TestSolar.py)
Jul  3 04:02:01 RasPi4AQ CRON[103815]: (august) CMD (python3 /home/august/Solar/TestSolar.py)
.....

Also: alles bestens.

AugustQ

Antworten |