Führen Sie einmal täglich einen Cronjob aus, wenn die Maschine eingeschaltet ist, aber nicht unbedingt zu einer bestimmten Zeit

Führen Sie einmal täglich einen Cronjob aus, wenn die Maschine eingeschaltet ist, aber nicht unbedingt zu einer bestimmten Zeit

Ich möchte einmal täglich einen Cronjob auf einer Maschine ausführen, die nicht ständig läuft, aber mindestens einmal täglich für ein paar Stunden. Das Problem bei einem Cronjob ist, dass ich ihm die genaue Zeit angeben muss, zu der er ausgeführt werden soll, aber meine Maschine läuft zu dieser bestimmten Zeit möglicherweise nicht. Ich weiß, dass es eine Option für Cron gibt, die besagt „mache dies beim Booten“, aber meine Maschine wird normalerweise nicht neu gestartet, sondern ich lasse sie im Standby-Modus. Anders ausgedrückt: Ich möchte einmal täglich etwas ausführen, kann aber keine genaue Zeit angeben. Gibt es dafür eine Lösung?

Antwort1

Sie möchten so etwas wieanakron:

anacron ist ein Computerprogramm, das periodische Befehlsplanungen durchführt, die traditionell von cron durchgeführt werden, jedoch ohne die Annahme, dass das System kontinuierlich läuft. Daher kann es verwendet werden, um die Ausführung täglicher, wöchentlicher und monatlicher Jobs (oder alles mit einem Zeitraum von n Tagen) auf Systemen zu steuern, die nicht 24 Stunden am Tag laufen.

Als Paket in den meisten Linux-Distributionen verfügbar. Es gibt wahrscheinlich auch einen Port für MS Windows ...

Antwort2

Sie können den Job von einem Startskript in /etc/rc2.d aus aufrufen, das das aktuelle Datum mit dem in einer Datei gespeicherten Datum vergleicht und diese Datei dann aktualisiert.

verwandte Informationen