ABONNIEREN SIE AUF YOUTUBE
Das Erstellen automatischer Aufgaben unter Linux mag wie eine mühsame Aufgabe erscheinen, aber was viele Benutzer nicht wissen, ist, dass es in der Distribution selbst eine Methode für diese Art von Segment gibt, und zwar cron. Cron verwendet einen Daemon namens crond, der für das Lesen zuständig ist Die verschiedenen Konfigurationsdateien und es gibt eine Cron-Datei für jeden Benutzer im Verzeichnis /etc/cron.d/ und die Datei /etc/crontab ist systemweit, sodass jeder Benutzer seine geplanten Jobs und die Datei-Cron-Einrichtung verwalten kann
TechnoWikis erklärt einige andere Methoden als die native Verwendung von Cron zum Ausführen geplanter Aufgaben und wir werden sie in diesem Tutorial im Detail sehen, das Ihnen verschiedene Möglichkeiten zum Erstellen von Aufgaben ohne Cron unter Linux zeigt.
1 So erstellen Sie Jobs ohne Cron unter Linux mit Sleep Loop
Unsere erste Methode ist die Schlafschleife, bei der es sich, wie der Name schon sagt, um ein kleines Skript oder einen kleinen Befehl handelt, der unsere Distribution für eine bestimmte Zeit in den Suspend- oder Ruhezustand versetzt und sie dann wieder aktiviert. Sie kann für Aufgaben wie Energiesparen verwendet werden , administrative Tests oder die Durchführung einiger Bedingungen, wie unser Beispiel sein wird.
Um diesen Befehl zu verwenden, öffnen wir das Terminal und führen dann gegebenenfalls einen Befehl ähnlich diesem aus:
während wahr; do date >> name.txt ; schlafen # ; Erledigt &
In diesem Befehl haben wir die notwendigen Parameter für die Ausführung der Aufgabe angegeben, diese sind:
- while true: Dieser Wert führt dazu, dass das Skript ausgeführt wird. Solange die Bedingung wahr ist, führt er die Funktion einer Schleife aus, die es ermöglicht, den Befehl immer wieder in sich wiederholender Weise auszuführen
- do: führt den oder die Befehle aus, die vor der do-Anweisung verfügbar sind
- Datum >> Name.txt: Dies ist die Ausgabe für den Datumsbefehl, der wiederum in die Datei geschrieben wird
- name.txt, die Zeichen >> ermöglichen, dass die Datei nicht bei jeder Ausführung des Skripts überschrieben wird
- sleep # – Weist die Shell an, diesen # zweiten Zeitbereich beizubehalten, bevor sie erneut ausgeführt wird
- done: ist dafür verantwortlich, das Ende einer While-Schleife zu markieren
- &: macht den gesamten Prozess zu einer Schleife im Hintergrund
Jetzt öffnen wir den Pfad, in dem die Datei erstellt wurde, und dort sehen wir sie:
Es ist möglich, es zu öffnen, um den erstellten Inhalt anzuzeigen:
2 So erstellen Sie Aufgaben ohne Cron unter Linux mit Systemd
Systemd ist das Standard-Linux-Startsystem und integriert als solches eine Timer-Funktion, mit der wir unsere Aufgaben auf einfache und sichere Weise erstellen können.
Öffnen wir das Terminal und erstellen wir mit der folgenden Syntax eine Timer-Einheit (.timer) mit dem gewünschten Namen:
sudo nano /etc/systemd/system/name.timer
Drücken Sie die Eingabetaste, geben Sie das Passwort ein und dort registrieren wir die folgenden Informationen:
[Unit]Name Job Timer [Timer] OnCalendar=*-*-* 00:00:00 # Durch die gewünschten Werte ersetzen, um [Install] WantedBy=timers.target zu planen
Einige der Optionen, die wir im Abschnitt „OnCalendar“ verwenden können, sind:
- Jährlich (jährlich): jährlich
- Monatlich: monatlich
- Wöchentlich: wöchentlich
- Täglich (Daily): täglich oder Mitternacht
- Pro Stunde (stündlich): pro Stunde
- Minuten: Es ist möglich, eine bestimmte Minute im Format *:MM (*:15 für alle 15 Minuten) oder einen bestimmten Bereich mit der Syntax MM-MM (20-30 für jede Minute von 20 bis 30) anzugeben.
Wir speichern die Änderungen mit der folgenden Tastenkombination:
Strg + O
Wir verlassen den Editor mit:
Strg + X
Anschließend führen wir den folgenden Befehl aus, um den Dienst mit dem gewünschten Editor zu erstellen:
sudo nano /etc/systemd/system/name.service
Beim Erstellen der Datei geben wir folgenden Inhalt ein:
[Einheit] Beschreibung=Name [Dienst] ExecStart=/path/file.sh # Ersetzen Sie den Pfad durch den .sh-Befehl oder das Skript. [Install] WantedBy=multi-user.target
Wir speichern die Änderungen mit der folgenden Tastenkombination:
Strg + O
Wir verlassen den Editor mit:
Strg + X
Sobald Sie dies getan haben, aktivieren wir den Dienst mit dem folgenden Befehl:
sudo systemctl aktiviere name.timer
Jetzt starten Sie den Dienst mit dem folgenden Befehl:
sudo systemctl start name.timer
Von diesem Moment an wird die Aufgabe basierend auf der erstellten Struktur ausgeführt.
3 So erstellen Sie Jobs ohne Cron unter Linux mit Anacron
Anacron ist ein Dienstprogramm zur periodischen Ausführung von Befehlen mit einer Häufigkeit in Tagen. Es kann auf Computern verwendet werden, die nicht 24 Stunden am Tag arbeiten, und ermöglicht die Steuerung von Routineaufgaben mit täglichen, wöchentlichen und monatlichen Häufigkeiten.
Anacron liest die Liste der in der Konfigurationsdatei /etc/anacrontab gehosteten Jobs und dort gibt jeder Jobeintrag den Zeitraum in Tagen, die Verzögerung in Minuten, eine eindeutige Job-ID und einen Shell-Befehl an, sodass Anacron prüft, ob dieser Job bereits ausgeführt wurde in den letzten n Tagen ausgeführt (n ist der für diese Aufgabe angegebene Zeitraum). Andernfalls wird der Job-Shell-Befehl ausgeführt.
- -s: Jobausführung verwalten
- -f: Erzwingt die Ausführung von Jobs noch vor ihrem Zeitpunkt
- -n: Jobs ohne Verzögerung ausführen, erfordert die Verwendung mit -s
- -d: Führen Sie den Prozess nicht im Hintergrund aus
- -q: stderr-Nachrichten löschen
- -u: Zeitstempel aktualisieren, ohne etwas Extra auszuführen
- -t: nutzt Anacrontab
- -V: Informationen zur Druckversion
- -h: Hilfe ausdrucken
- -T; führt Anacrontab-Tests durch
- -S: Wählen Sie ein anderes Spool-Verzeichnis
Zu Beginn öffnen wir das Terminal und installieren Anacron mit dem folgenden Befehl:
sudo apt install anacron
In diesem Fall verwenden wir Ubuntu, für andere Distributionen können wir Folgendes ausführen:
sudo yum install anacron (RHEL/CentOS/Fedora und Rocky/AlmaLinux) sudo pacman -S anacron (Arch Linux) sudo zypper install anacron (OpenSUSE)
Jetzt greifen wir mit dem folgenden Befehl auf die Anacron-Edition-Datei zu:
sudo nano /etc/anacrontab
Wir werden Folgendes sehen: Es gibt die vordefinierten Aufgaben von Anacron, im letzten Teil geben wir unsere Aufgabe ein:
Dort können wir numerische Werte eingeben oder bei Bedarf ein @ voranstellen (@daily, @weekly, @monthly oder @yearly).
Wir übernehmen die Änderungen und die mit Anacron geplante Aufgabe ist fertig.
Jede dieser Optionen ist eine Alternative zum bekannten Linux-Cron und ermöglicht eine ganzheitliche Planung unserer Aufgaben.