Ja, es cron
wird nur ein Job ausgeführt, der für eine bestimmte Zeit geplant ist, wenn der Computer zu diesem Zeitpunkt eingeschaltet ist. Es funktioniert so, dass jede Minute alle geplanten Cron-Jobs daraufhin überprüft werden, ob ihre Zeitfelder mit der aktuellen Minute übereinstimmen. Wenn ja, wird der Job ausgeführt. Wenn nicht, wird es übersprungen. Es gibt kein Konzept, die Ausführung eines Jobs für einen späteren Zeitpunkt zu "speichern".
In Ihrer Situation können Sie eine Markierungsdatei verwenden, um anzuzeigen, wann der Job zuletzt ausgeführt wurde. Erstellen Sie ein kleines Skript oder Programm, das folgendermaßen aussieht (dies ist eine Pseudo-Bash-Syntax):
if (marker file was last modified > 1 week ago); then run the job touch marker file fi
Sie können dieses Skript als cron-Job so einstellen, dass es jeden Tag, jede Stunde oder sogar jede Minute ausgeführt wird - so oft, wie es erforderlich ist, um sicherzustellen, dass es mindestens einmal pro Woche ausgeführt wird, während Sie Ihren Computer eingeschaltet haben.