Script wird mit Crontab nicht richtig ausgeführt
Script wird mit Crontab nicht richtig ausgeführt
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
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
Re: Script wird mit Crontab nicht richtig ausgeführt
Versuch mal als temporärer (für eine Stunde) Test, alle 10 Minuten zu ergänzen (statt zu überschreiben):AX3300 hat geschrieben: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
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
Re: Script wird mit Crontab nicht richtig ausgeführt
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.
Re: Script wird mit Crontab nicht richtig ausgeführt
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.
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.
Re: Script wird mit Crontab nicht richtig ausgeführt
Wo ist der Unterschied zwischen dem vorherigen löschen der Ausgabedatei und dem ergänzen der Ausgabedatei?hikaru hat geschrieben: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.
Vielleicht ist die 1 Minute, auch ein zu kurzer Zeitintervall (für die Abfrage durch das python-Script)?
Re: Script wird mit Crontab nicht richtig ausgeführt
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
Re: Script wird mit Crontab nicht richtig ausgeführt
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?
"*/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?
Re: Script wird mit Crontab nicht richtig ausgeführt
Klar! Steck das Python-Script in eine Endlosschleife mit einem sleep-Kommando!AX3300 hat geschrieben:13.02.2023 11:14:33Gibt es nicht eine Möglichkeit das ganze einfach nur als Script laufen zu lassen, also ohne Crontab?
Re: Script wird mit Crontab nicht richtig ausgeführt
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
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