Wie funktioniert Anacron, wenn es kein Daemon ist?

13

Ich habe über die Unterschiede zwischen Cron und Anacron gelesen und festgestellt, dass Anacron im Gegensatz zu Cron kein Daemon ist. Also frage ich mich, wie es eigentlich funktioniert, wenn es kein Daemon ist.

tgwtdt
quelle

Antworten:

20

Es werden verschiedene Methoden zum Ausführen verwendet:

  • Wenn das System systemd ausführt, verwendet es einen systemd-Timer (im Debian-Paket sehen Sie ihn in /lib/systemd/system/anacron.timer).
  • Wenn auf dem System systemd nicht ausgeführt wird, wird ein System-Cron-Job (in /etc/cron.d/anacron) verwendet.
  • In allen Fällen werden tägliche, wöchentliche und monatliche Cron-Jobs (in /etc/cron.{daily,weekly,monthly}/0anacron) ausgeführt.
  • Es läuft auch beim Booten (von /etc/init.d/anacronoder seiner Systemeinheit).
Stephen Kitt
quelle
Ich habe die {a,b,c}Notation gesehen; Kann ich das in meiner Shell verwenden? (Ich habe momentan keinen Zugriff darauf, oder ich würde es testen.) Bedeutet das, was es zu sein scheint - das heißt, alle Dateien, die {...}durch kommaseparierte Elemente ersetzt wurden?
Fund Monica's Lawsuit
3
@QPaysTaxes - Bash (und einige andere Shells) erweitern Klammern auf diese Weise - siehe Bash-Referenzhandbuch:
Klammererweiterung
6

anacronist kein Daemon und muss daher regelmäßig mit anderen Mitteln ausgeführt werden. Meistens bedeutet dies, dass es einmal am Tag mit einem Cron-Job ausgeführt wird, möglicherweise auch beim Booten.

Dies könnte beispielsweise in der crontab von root so aussehen:

@reboot /usr/local/sbin/anacron -ds
@daily  /usr/local/sbin/anacron -ds

Linux-Systeme, die systemd verwenden, können dies natürlich anders machen, müssen jedoch mindestens einen Durchlauf anacronpro 24-Stunden-Zeitraum ermöglichen.

anacronMehr als einmal alle 24 Stunden zu laufen ist sinnlos, da die kürzeste Zeitspanne, die ein Job durchlaufen kann, anacroneinmal am Tag ist.

Kusalananda
quelle
Vielen Dank. (1) Ich habe mich gefragt, was "kein Dämon" bedeutet. (2) in Bezug auf Ihren letzten Satz: „Die systemd Timer läuft Anacron stündlich um die Verzögerung zu reduzieren , die zwischen einem Bewährungs System wieder aufnehmen und der nächsten Anacron run“ unix.stackexchange.com/questions/478803/...
Stack für alle