Übersicht
anacron führt Aufgaben aus, die in der Datei `/etc/anacrontab` definiert sind, und zwar täglich, wöchentlich oder monatlich. Wenn das System ausgeschaltet war und die Ausführungszeit einer Aufgabe verpasst wurde, wird diese Aufgabe beim nächsten Systemstart ausgeführt, um sicherzustellen, dass keine Aufgaben verloren gehen. Dies unterscheidet sich von `cron`, das für Systeme geeignet ist, die 24 Stunden am Tag laufen.
Hauptmerkmale
- Verhindert verpasste Aufgaben bei Systemabschaltung
- Führt Aufgaben in festgelegten Intervallen (täglich/wöchentlich/monatlich) aus
- Verfolgt die letzte Ausführungszeit anhand von Protokolldateien
- Besonders nützlich für Desktop- und Laptop-Umgebungen
Wichtige Optionen
Dies sind die wichtigsten Optionen, die mit dem Befehl anacron verwendet werden.
Ausführungssteuerung
Konfiguration/Informationen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`anacron` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Dies sind einige gängige Beispiele für die Verwendung von anacron.
Anacron manuell ausführen
sudo anacron -s
Führt alle in der anacrontab definierten Aufgaben manuell aus. Obwohl es beim Systemstart automatisch ausgeführt wird, kann es bei Bedarf manuell ausgelöst werden.
Anacrontab-Datei anzeigen
cat /etc/anacrontab
Zeigt die Konfigurationsdatei an, in der die anacron-Aufgaben definiert sind.
Im Debug-Modus ausführen
sudo anacron -d
Führt anacron im Debug-Modus aus, um detaillierte Informationen darüber zu erhalten, welche Aufgaben ausgeführt werden.
Zeitstempel nur aktualisieren, ohne Aufgaben auszuführen
sudo anacron -u
Aktualisiert die letzte Ausführungszeit von anacron auf die aktuelle Zeit, ohne die Aufgaben tatsächlich auszuführen. Dies ist nützlich, wenn Sie bestimmte Aufgaben überspringen möchten.
Installation
Anacron ist auf den meisten Linux-Distributionen standardmäßig als Teil des Pakets `cronie` oder `vixie-cron` installiert. Wenn es nicht installiert ist, können Sie es mit den folgenden Befehlen installieren.
Debian/Ubuntu-basiert
sudo apt update && sudo apt install cronie
Installiert das Paket `cronie` mit dem Paketmanager apt.
RHEL/CentOS/Fedora-basiert
sudo dnf install cronie
# oder
sudo yum install cronie
Installiert das Paket `cronie` mit dem Paketmanager dnf oder yum.
Tipps & Hinweise
Dies sind nützliche Tipps und Hinweise zur Verwendung von anacron.
Wichtige Konfigurationsdateien und Verzeichnisse
Dies sind die wichtigsten Dateien und Verzeichnisse, die das Verhalten von anacron steuern.
- /etc/anacrontab: Die Hauptkonfigurationsdatei, in der der Zeitraum, die Verzögerung, die Job-ID und der auszuführende Befehl für anacron-Aufgaben definiert sind.
- /var/spool/anacron/: Das Verzeichnis, in dem die Zeitstempeldateien gespeichert sind, die die letzte Ausführungszeit jeder Aufgabe aufzeichnen. Anhand dieser Dateien ermittelt anacron, ob Aufgaben verpasst wurden.
Unterschied zu cron
`cron` führt Aufgaben zu festgelegten Zeiten aus, wenn das System ständig eingeschaltet ist, während `anacron` Aufgaben nach einer Verzögerung (delay) nach dem Systemstart ausführt, wenn das System ausgeschaltet war und Aufgaben verpasst wurden. Daher ist es besser für Umgebungen wie Laptops oder Desktops geeignet, in denen das System nicht ständig läuft. `anacron` kann zusammen mit `cron` verwendet werden, wobei `cron` so konfiguriert werden kann, dass es `anacron` periodisch ausführt, um verpasste Aufgaben zu überprüfen.
Struktur der anacrontab-Datei
Jede Zeile in der `anacrontab`-Datei ist im Format `period delay job-identifier command` aufgebaut.
- period: Der Ausführungszeitraum der Aufgabe (z. B. 1 für täglich, 7 für wöchentlich, @monthly für monatlich).
- delay: Die Wartezeit (in Minuten) nach dem Systemstart, bevor die Aufgabe ausgeführt wird. Dies hilft, die Systemlast zu reduzieren.
- job-identifier: Eine eindeutige Zeichenfolge zur Identifizierung der Aufgabe. Unter diesem Namen wird eine Zeitstempeldatei in `/var/spool/anacron/` erstellt.
- command: Der tatsächlich auszuführende Shell-Befehl.