Crontab führt Skript nicht aus – bitte helfen Sie

Crontab führt Skript nicht aus – bitte helfen Sie

Entschuldigen Sie, aber ich bin ein Neuling, was Ubuntu angeht, aber ich drehe damit völlig durch und brauche Hilfe.

Ich habe ein Skript geschrieben, das funktioniert, wenn ich es alleine ausführe. :-

#!/bin/bash                                                                                                                                                                                   
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:~/bin                                                                                                                             
cd environments                                                                                                                                                                               
cd Garmin                                                                                                                                                                                     
cd Sync                                                                                                                                                                                       
python3 sync.py -f 2018-01-01 -t 2025-01-01

Das Problem besteht darin, dass ich einen Crontab-Job habe, der stündlich ausgeführt werden soll, dieser aber nicht ausgeführt wird (da er die Gewichtsmessungen nicht aktualisiert).

00 * * * * ~/bin/sync.sh 

Kann mir jemand helfen? Tut mir leid, aber ich bin noch ganz am Anfang, falls die Codierung langwierig erscheint.

Danke

Antwort1

Ich bin aufdieser BeitragDies sollte Ihnen helfen, die richtige Richtung einzuschlagen.

Wenn die erste Antwort Ihr Problem nicht behebt, können Sie die zweite Antwort verwenden, die von Byte Commander geschrieben wurde. Byte Commander zeigt eine gute Möglichkeit, Ihr Ziel zu erreichen, ohne sich mit Cron befassen zu müssen. Sie müssten nur die 10 m auf 60 m oder so ändern

Um Cron zu vermeiden, können Sie Ihr Skript auch in einer Endlosschleife mit einer Verzögerung von 10 Minuten aufrufen.

Wenn Sie das Skript 10 Minuten nach dem Beenden der vorherigen Instanz erneut starten möchten, verwenden Sie Folgendes:

während true; mache /PATH/TO/SCRIPT.PY; schlafe 10 Minuten; fertig

Wenn Sie das Skript jedoch alle 10 Minuten starten möchten, unabhängig davon, wie lange die letzte Instanz ausgeführt wurde (oder ob sie noch ausgeführt wird), müssen Sie das Skript im Hintergrund ausführen und parallel dazu in den Ruhezustand versetzen, indem Sie das ; durch ein & ersetzen:

während true; führe /PATH/TO/SCRIPT.PY aus und schlafe 10 Minuten; fertig

verwandte Informationen