Script wird mit Crontab nicht richtig ausgeführt

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
AX3300
Beiträge: 15
Registriert: 12.02.2023 18:55:11

Script wird mit Crontab nicht richtig ausgeführt

Beitrag von AX3300 » 12.02.2023 19:40:09

Hallo,
bin neu hier und hätte auch schon ein Problem.
Hab ein Script das mir jede Minute Daten aus der Batterie auslesen soll

#!/bin/bash
daly-bms-cli -d /dev/ttyUSB0 --all > /var/www/html/eigene/daly_bms.txt


Aufgerufen wird es in Crontab, was auch funktioniert.
Das erste mal wenn das Script ausgeführt wird stehen die erwünschten Werte in der Datei.
Beim 2. aufruf nach einer Minute wird der erste Eintrag gelöscht und die Datei hat dann 0 Bytes :?
Der Befehl wird jede Minute dann weiter ausgeführt (0 Bytes).

Crontab
* * * * * /var/www/html/eigene/daly_bms_skript.sh
Ich sitz da jetzt schon den ganzen Tag drüber

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von mat6937 » 12.02.2023 20:00:11

AX3300 hat geschrieben: ↑ zum Beitrag ↑
12.02.2023 19:40:09
#!/bin/bash
daly-bms-cli -d /dev/ttyUSB0 --all > /var/www/html/eigene/daly_bms.txt


Aufgerufen wird es in Crontab, was auch funktioniert.
Das erste mal wenn das Script ausgeführt wird stehen die erwünschten Werte in der Datei.
Beim 2. aufruf nach einer Minute wird der erste Eintrag gelöscht und die Datei hat dann 0 Bytes :?
Der Befehl wird jede Minute dann weiter ausgeführt (0 Bytes).

Crontab
* * * * * /var/www/html/eigene/daly_bms_skript.sh
Ich sitz da jetzt schon den ganzen Tag drüber
Versuch mal als temporärer (für eine Stunde) Test, alle 10 Minuten zu ergänzen (statt zu überschreiben):

Code: Alles auswählen

daly-bms-cli -d /dev/ttyUSB0 --all >> /var/www/html/eigene/daly_bms.txt

Code: Alles auswählen

*/10 * * * * /var/www/html/eigene/daly_bms_skript.sh
BTW: Ist das eine root oder eine user crontab?

chrbr
Beiträge: 547
Registriert: 29.10.2022 15:53:26

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von chrbr » 12.02.2023 21:12:23

mat6937 hat geschrieben: ↑ zum Beitrag ↑
12.02.2023 20:00:11
Ich sitz da jetzt schon den ganzen Tag drüber
Da bist Du wohl nicht allein. Gemäß dem Link gibt es wohl Probleme: https://solaranzeige.de/phpBB3/viewtopic.php?t=3193
Das Programm ist wohl ein Python Skript und unter https://github.com/dreadnought/python-daly-bms verfügbar. Vielleicht hast Du ja ausreichende Python Kenntnisse. Ich habe mir die Dateien bisher nicht angeschaut.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von hikaru » 13.02.2023 09:20:09

Das Problem scheint ja im Python-Script zu liegen, nicht im Cron oder dessen Shell.
Wenn der erste Aufruf des Python-Scripts funktioniert, danach aber nur leere Dateien geschrieben werden, vielleicht funktioniert es dann als Workaround, wenn du vor jedem Aufruf des Python-Scripts im Cron die Ausgabedatei löschst.

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von mat6937 » 13.02.2023 09:48:58

hikaru hat geschrieben: ↑ zum Beitrag ↑
13.02.2023 09:20:09
..., vielleicht funktioniert es dann als Workaround, wenn du vor jedem Aufruf des Python-Scripts im Cron die Ausgabedatei löschst.
Wo ist der Unterschied zwischen dem vorherigen löschen der Ausgabedatei und dem ergänzen der Ausgabedatei?
Vielleicht ist die 1 Minute, auch ein zu kurzer Zeitintervall (für die Abfrage durch das python-Script)?

uname
Beiträge: 12046
Registriert: 03.06.2008 09:33:02

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von uname » 13.02.2023 10:04:32

Ich würde testweise für jede Jobausführung / Zeitstempel eine eigene Datei anlegen. Vielleicht kannst du den Dateinamen irgendwie um $(date \%y\%m\%d) erweitern. Quelle

AX3300
Beiträge: 15
Registriert: 12.02.2023 18:55:11

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von AX3300 » 13.02.2023 11:14:33

Danke für eure Antworten, ich werde heute mal das von mat6937
"*/10 * * * * /var/www/html/eigene/daly_bms_skript.sh"
ausprobieren.

BTW: Ist das eine root oder eine user crontab?
ist eine Root Crontab

Gibt es nicht eine Möglichkeit das ganze einfach nur als Script laufen zu lassen, also ohne Crontab?

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von hikaru » 13.02.2023 11:47:46

AX3300 hat geschrieben: ↑ zum Beitrag ↑
13.02.2023 11:14:33
Gibt es nicht eine Möglichkeit das ganze einfach nur als Script laufen zu lassen, also ohne Crontab?
Klar! Steck das Python-Script in eine Endlosschleife mit einem sleep-Kommando!

AX3300
Beiträge: 15
Registriert: 12.02.2023 18:55:11

Re: Script wird mit Crontab nicht richtig ausgeführt

Beitrag von AX3300 » 13.02.2023 16:33:47

Also "*/10 * * * * /var/www/html/eigene/daly_bms_skript.sh" läuft auch nicht.
Hab das jetzt mit der endlosschleife mal ausprobiert, scheint zu funktionieren.
Ich werde jetzt mal mit der "Solaranzeige" weitermachen und wenn das dann läuft, nochmal schauen ob das so passt. :)
Danke

Antworten