NEWS
crontab funktioniert nicht (Gelöst)
-
@michaelf sagte in crontab funktioniert nicht:
Hi, nur mit crontab -e
Und als welcher User hast du das ausgeführt, hoffentlich nicht als root.
Der User erstellt seinen Zeitplan mit
crontab -e
. Soll root dies ausühren, wird vom Usersudo crontab -e
ausgeführt.
Ist man jedoch (fälschlicherweise) als root eingeloggt, führtcrontab -e
logischerweise auch einen root-crontab aus.Tel Aviv, Mondamin
-
Nein kein root. pi quasi Standard.
pi@Influxdb1:~ $ /home/pi/evcc-influx-aggregate.sh --yesterday >> /var/log/evcc-grafana-dashboards.log 2>&1 -bash: /var/log/evcc-grafana-dashboards.log: Keine Berechtigung
in der tat ein Berechtigungs Problem, wie kann ich das lösen ?
-
@michaelf sagte in crontab funktioniert nicht:
in der tat ein Berechtigungs Problem, wie kann ich das lösen ?
Erstmal schauen welche Rechte auf dem File liegen...
Bzw. darf der pi mit Sicherheit nicht in das/var/log/evcc-grafana-dashboards.log
schreiben. Warum solllte er auch. -
Die Datei habe ich grade mal mit
sudo nano
erstellt, war ja auch nicht vorhanden.
Rechte:
-rw-r--r-- 1 root root 0 5. Okt 18:47 evcc-grafana-dashboards.log
-
@michaelf
Dann kannst du es dir ja auch selber beantworten. Der root darf lesen und schreiben, alle anderen nur lesen. Also knallt der kleine pi da vor die Wand. -
wäre das dann:
chown pi evcc-grafana-dashboards.log
und für das schreiben:
chmod 660 evcc-grafana-dashboards.log
Ich bin leider noch nicht sooooooo firm was das angeht.
-
Zunächst mal würde ich sowas nicht in ein /home eines users pflanzen, sondern nach /usr/local/bin
Gibt es nicht schon für evcc einen entsprechenden user? Dann würde ich auch den das Skript ausführen lassen.
Rechte dann entsprechend an den user oder eine passende Gruppe vergeben. -
Nein auf dem Pi ist quasi nur eine Influx Datenbank, wo aber auch Evcc hineinschreibt.
User ist nur der pi vorhanden, das script ist quasi auch ein allgemeines es vereinfacht Grafana das rechnen mit Monats und Jahreswerten die quasi direkt in die Influx Datenbank geschrieben werden.
-
@michaelf das ENV innerhalb von cron ist limitiert.
Vielleicht fehlt etwas im Pfad.
Ich kopiere des Pfad aus dem normalen Terminalfenster oben in die Shell-Scripts, die ich durch cron ausführen lassen will -
Danke an alle, Funktioniert jetzt. Lösung war die Berechtigung.
Grüße