Meine Cron-Jobs werden nicht ausgeführt, wenn ich versuche, die Skriptausgabe in einer TXT-Datei zu speichern

Meine Cron-Jobs werden nicht ausgeführt, wenn ich versuche, die Skriptausgabe in einer TXT-Datei zu speichern

Ich versuche, ein Python-Skript zweimal täglich auszuführen – einmal um 8:00 Uhr und noch einmal um 20:00 Uhr. Ich wollte die Ausgabe des Skripts in einer txt-Datei mit dem Namen LOG_{date-time}.txt auf meinem Computer speichern, damit ich mir die „Protokolldateien“ ansehen kann, falls mit dem Skript etwas schiefgeht. Ich habe den folgenden Cron-Job eingerichtet:

0 8,20 * * * python3 /script/working/directory/Script.py > /script/working/directory/logs/LOG_"$(date +"%d-%m-%Y")".txt

Nachdem ich den Cron-Job eingerichtet hatte, überprüfte ich das Skript nach 20:00 Uhr und bemerkte, dass mein Skript noch nicht ausgeführt wurde (ich habe es so eingestellt, dass eine Tabellenkalkulationsdatei aktualisiert wird und nach jeder Aktualisierung ein Zeitstempel hinterlassen wird).

Ich habe selbst ein wenig nach Fehlern gesucht und festgestellt, dass es funktioniert, wenn ich den Cron-Job ohne den Ausgabeteil ausführe (ich habe auch festgestellt, dass die Cron-Job-Protokolle in UTC und nicht in meiner Systemzeit ausgegeben werden, aber das ist ein Problem für ein anderes Mal):

0 8,20 * * * python3 /script/working/directory/Script.py

Übersehe ich hier etwas? Sollte dies nicht die Ausgabe des Skripts in einer Datei speichern? Ich bin hier ein bisschen neu und habe versucht, es nach und nach zu lernen, aber ich bin mir einfach nicht sicher, wo ich damit hin soll. Es wäre schön, die Ausgabe meines Skripts zu Debugzwecken speichern zu können.

Antwort1

Als Hauptgrund kann ich annehmen, dass entweder der Protokollpfad nicht existiert oder Sie keine Berechtigung zum Schreiben in den Protokollpfad haben.

Versuchen Sie, den Befehl manuell auszuführen, anstatt den Cron

python3 /script/working/directory/Script.py > /script/working/directory/logs/LOG_"$(date +"%d-%m-%Y")".txt

Sie werden den Fehler höchstwahrscheinlich in Ihrem Terminal sehen.

verwandte Informationen