GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist Anacron und die Verwendung von Anacron unter Linux

Anacron ist ein Dienst, der nach jedem Systemneustart ausgeführt wird und nach Cron- und geplanten Jobs sucht, die ausgeführt werden sollten, während das System heruntergefahren war, und daher noch nicht ausgeführt wurden. Es scannt die Datei /etc/cron.hourly/anacron Datei für drei Faktoren, um zu bestimmen, ob diese verpassten Jobs ausgeführt werden sollen. Die drei Faktoren sind das Vorhandensein der Datei /var/spool/anacron/cron.daily, die verstrichene Zeit von 24 Stunden seit der letzten Ausführung von anacron und das Vorhandensein der Wechselstromversorgung des Systems. Wenn alle drei Faktoren positiv sind, fährt Anacron fort und führt automatisch die Skripte aus, die sich in /etc/cron.daily befinden , /etc/cron.weekly und /etc/cron.monthly Verzeichnisse, basierend auf den Einstellungen und Bedingungen, die in der Hauptkonfigurationsdatei /etc/anacrontab von anacron definiert sind. Der Standardinhalt der Datei /etc/anacrontab wird unten angezeigt:

$ cat /etc/anacrontab 
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
RANDOM_DELAY=45
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1    5    cron.daily        nice run-parts /etc/cron.daily
7    25    cron.weekly        nice run-parts /etc/cron.weekly
@monthly 45    cron.monthly        nice run-parts /etc/cron.monthly

In dieser Datei sind fünf Umgebungsvariablen definiert:die SHELL und PFAD Variablen legen die Shell und den Pfad fest, die zum Ausführen der Skripte verwendet werden sollen (am Ende dieser Datei definiert); MAILTO definiert den Benutzernamen oder eine E-Mail, an die alle Ausgabe- und Fehlermeldungen gesendet werden; RANDOM_DELAY drückt die maximale zufällige Verzögerung in Minuten aus (addiert zur Basisverzögerung der Jobs, wie in der zweiten Spalte der letzten drei Zeilen definiert) und START_HOURS_RANGE gibt den Stundenbereich an, in dem die Jobs beginnen könnten.

Die letzten drei Zeilen in der obigen Beispielausgabe definieren den Zeitplan und die auszuführenden Skripts. Die erste Spalte stellt den Zeitraum in Tagen (oder @daily, @weekly, @monthly oder @yearly) dar, den Anacron verwendet, um zu prüfen, ob der angegebene Job in dieser Anzahl von Tagen oder Zeitraum ausgeführt wurde, die zweite gibt die Verzögerung in Minuten an anacron warten soll, bevor der Job ausgeführt wird, die dritte identifiziert eine Job-ID und die vierte Spalte gibt den Befehl an, der verwendet werden soll, um den Inhalt von /etc/cron.daily, /etc/cron.weekly und /etc/cron auszuführen .monatliche Dateien. Hier wird der Befehl run-parts verwendet, um alle Dateien in den drei Verzeichnissen mit der Standardeinstellung auszuführen.

Anacron prüft für jeden Job, ob der Job zuvor in den angegebenen Tagen oder in dem angegebenen Zeitraum (Spalte 1) ausgeführt wurde, und führt ihn aus, nachdem die Anzahl der Minuten (Spalte 2) abgewartet wurde, falls dies nicht der Fall war. Anacron kann manuell an der Eingabeaufforderung ausgeführt werden. Um beispielsweise alle Jobs auszuführen, die in der Datei /etc/anacrontab geplant sind, aber verpasst wurden, können Sie den folgenden Befehl eingeben:

# anacron

Anacron speichert sein Ausführungsdatum in den Dateien im Verzeichnis /var/spool/anacron für jeden definierten Zeitplan.


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  3. Was ist der Zweck von /etc/shadow und Shadow-Cache-Dateien im Linux-Betriebssystem?

  4. Was ist der Unterschied zwischen /tmp und /run?

  5. Unterschied zwischen /etc/hosts und /etc/resolv.conf

Was ist Crontab und wie werden Aufgaben in Linux mit Crontab automatisiert?

Was ist Fstab unter Linux | Eine Einführung in die Linux-Datei /etc/fstab

Der richtige Weg zum Bearbeiten von /etc/passwd- und /etc/group-Dateien unter Linux

Was ist die Datei /etc/passwd unter Linux?

UNIX/Linux:Was ist die korrekte Berechtigung für die Verzeichnisse /tmp und /var/tmp?

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen