
Ich habe ein Python-Skript, das wunderbar über die Befehlszeile ausgeführt werden kann, aber wenn ich versuche, es über CRON auszuführen, passieren seltsame Dinge.
Das Skript generiert eine APK-Skriptdatei und führt sie dann aus.
Die APK-Skriptdatei wird gespeichert, /usr/src/scripts/plots/core_temp_data/weeklyplots
wenn sie über die Befehlszeile ausgeführt wird, aber sie wird gespeichert, /home/pi
wenn sie von CRON ausgeführt wird.
Ich habe auch versucht, die CRON-Fehler in eine Protokolldatei zu schreiben, aber diese wird auch im /home/pi
Verzeichnis abgelegt!
Das Skript funktioniert, speichert die resultierenden Dateien jedoch am falschen Ort. Wie gebe ich also den richtigen Pfad an?
Ich habe versucht, herauszufinden, wie der Pfad angegeben wird, war aber völlig verwirrt.
Der Teil des Skripts, der das APK-Skript generiert, istfout = open("live_gnu_command.gpl", "w")
folgende D_byes-Hilfe hat geholfen:fout = open("/usr/src/scripts/plots/core_temp_data/weeklyplotslive_gnu_command.gpl", "w")
Antwort1
Standardmäßig cron
werden alle Jobs im Home-Verzeichnis des Benutzers ausgeführt, dem der Job gehört. Stellen Sie sicher, dass Ihr Python-Skript beim Schreiben der Ausgabedateien absolute Pfade verwendet, da diese sonst im Home-Verzeichnis des aktuellen Benutzers abgelegt werden.