Mit Cron können Sie unter Linux Systembefehle zeitgesteuert ausführen. Aber was genau ist Cron? Es handelt sich um einen Hintergrunddienst, der, einmal eingerichtet, beliebige Befehle, Skripte oder Programme nach einem festgelegten Zeitplan ausführen kann. Das Beste daran: Cron ist vollständig anpassbar.
Cron ist ein äußerst nützliches Werkzeug, seine Befehlssyntax kann jedoch insbesondere für unerfahrene Benutzer sehr verwirrend sein. Aus diesem Grund werden wir uns im Folgenden damit beschäftigen, wie Sie Cron und seine Befehlssyntax leicht verstehen können, damit Sie Systembefehle auf Ihrem Linux-Rechner automatisch planen können!
Cron installieren
Auf vielen Linux-Distributionen ist Cron in der Regel vorinstalliert und einsatzbereit. Dies liegt daran, dass Cron eine zentrale Rolle bei vielen Automatisierungsaufgaben in der Linux-Systemadministration spielt.
Auch wenn Cron auf den meisten Distributionen standardmäßig eingerichtet ist, bedeutet das nicht, dass es auf jedem einzelnen Linux-System vorhanden ist. Bevor wir also näher auf die Verwendung von Cron eingehen, sollten Sie sicherstellen, dass es auf Ihrem System installiert ist.
In diesem Abschnitt konzentrieren wir uns auf die Installation von Cronie, einem Tool, das standardmäßig auf vielen Red Hat Linux-Distributionen zu finden ist. Der Grund dafür ist, dass es Standardfunktionen für Cron bereitstellt und die Pakete in den Software-Repositories der meisten Linux-Distributionen verfügbar sind.
Um festzustellen, ob Sie das Cronie-Paket installieren müssen, öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein. Wenn nichts passiert, hat Ihr System keine Möglichkeit, Systembefehle zu planen, und Sie sollten Cronie installieren.
crontab -h
Ubuntu/Debian
Ubuntu und Debian unterstützen Cronie nicht direkt. Diese Linux-Distributionen sind jedoch oft standardmäßig mit Cron vorkonfiguriert. Sollte Ihr System aus irgendeinem Grund Crontab nicht verwenden können, konsultieren Sie die Debian- oder Ubuntu-Wiki-Seiten für weitere Hilfe.
Arch Linux
Arch Linux ist eine „Do-it-yourself“-Linux-Distribution, und es wird von den Benutzern erwartet, dass sie jedes einzelne Paket auf ihrem System selbst installieren und konfigurieren. Daher versäumen es viele Benutzer, eine Anwendung zu installieren, die es ihnen ermöglicht, Systembefehle mit Cron zu planen. Glücklicherweise ist die Cronie-Anwendung im „Arch Linux Core“-Software-Repository enthalten. Geben Sie den folgenden Pacman-Befehl ein, um Cronie zu installieren:
sudo pacman -S cronie
Fedora
Fedora Linux ist ein Desktop-Betriebssystem, daher ist es wahrscheinlich, dass Sie bereits mit Cron und Crontab interagieren können. Wenn dies jedoch aus irgendeinem Grund nicht der Fall sein sollte, lässt sich Cronie einfach mit dem DNF-Paketmanager installieren:
sudo dnf install cronie -y
OpenSUSE
OpenSUSE Leap (die von den meisten Benutzern verwendete Version von SUSE) ist ähnlich wie Fedora ein Desktop-Betriebssystem, daher sollte Cron bereits eingerichtet sein. Sollte dies nicht der Fall sein, installieren Sie Cronie mit dem folgenden Zypper-Befehl:
sudo zypper install cronie
Generisches Linux
Verwenden Sie eine weniger bekannte Linux-Distribution ohne Cron-System? Glücklicherweise ist Cronie Open Source und die Installationsanleitung ist sehr einfach. Für weitere Informationen besuchen Sie diese Seite.
Systembefehle mit Cron planen
Um Systembefehle mit Cron zu planen, benötigen Sie die „Crontab“. Die „Crontab“ ist eine Datei, die Ihre Aufgaben speichert und sie an den Cron-Daemon zur Ausführung weiterleitet.
Um auf die Crontab auf Ihrem System zuzugreifen, öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus. Stellen Sie sicher, dass Sie die Zeile `EDITOR=nano` einfügen, da Sie sonst einen komplexeren Editor anstelle eines einfachen Editors wie Nano erhalten würden.
EDITOR=nano crontab -e
Nach Ausführen des Befehls öffnet sich der Texteditor mit einer neuen, leeren Datei. In diese Datei tragen Sie Ihre Befehle ein.
Die Zeitplanung in Cron ist etwas komplexer, da sie nach Minuten, Stunden, Tagen, Monaten und Wochentagen erfolgt. Wir werden jedoch nicht darauf eingehen, wie Sie einen Cron-Zeitplan manuell schreiben. Stattdessen verweisen wir Sie auf die Crontabgenerator-Website, die das Ganze wesentlich einfacher macht.
Sobald Sie den Generator aufgerufen haben, können Sie über die Kontrollkästchen einen Zeitplan auswählen. Wenn Sie mit Ihrem Zeitplan zufrieden sind, gehen Sie zum Feld „Command To Execute“ (Befehl zur Ausführung).
In das Feld „Command To Execute“ schreiben Sie die Terminalbefehle, die Ihr Linux-Rechner oder -Server automatisch ausführen soll. Denken Sie daran, dass „Befehle“ nicht auf Linux-Befehle wie „apt update“, „ping“ usw. beschränkt sind. Es kann alles sein! Solange Ihr Befehl im Terminal funktioniert, funktioniert er auch in Cron!
Haben Sie Ihren Befehl im Feld „Command To Execute“ eingetragen? Klicken Sie auf die grüne Schaltfläche „Generate Crontab Line“, um eine Textzeile zu generieren. Markieren Sie den Text auf der Ausgabeseite und kehren Sie zum Crontab-Texteditor zurück.
Drücken Sie Strg + Umschalt + V, um den Code in Nano einzufügen. Speichern Sie die Datei mit Strg + O. Sobald Ihre Crontab-Datei gespeichert ist, ist das Schwierigste geschafft. Verlassen Sie den Editor mit Strg + X.
Hinweis: Benutzer, die Cronie nicht verwenden, müssen nach der Bearbeitung möglicherweise `crontab -e` ausführen, um sicherzustellen, dass die neue Datei wirksam wird.
Nachdem die Bearbeitung abgeschlossen ist, erkennt der Cron-Hintergrunddienst die Änderungen und führt die Aufgaben nach dem von Ihnen festgelegten Zeitplan aus!