Linux lernen

So erstellen Sie Cron-Jobs unter Linux

So erstellen Sie Cron-Jobs unter Linux

Ein Cron- oder Cron-Job ist ein zeitbasierter Scheduler, der in Linux/Unix-Systemen üblich ist. Es plant die regelmäßige Ausführung bestimmter Benutzeraufgaben zu festgelegten Datums-, Uhrzeit- oder Intervallen. Die meisten dieser Aufgaben sind Skripte, um Funktionen wie Backups und mehr auszuführen. Um diese Cron-Jobs zu erstellen, verwenden wir die crontab-Befehle. Eine crontab ist ein UNIX-Befehl/Dienstprogramm zum Erstellen und Verwalten von Cron-Jobs.

Wie Sie unten sehen werden, ist das Erstellen und Bearbeiten eines Cron-Jobs ganz einfach. Das Erstaunlichste daran ist, dass Sie Cron oder Ihren PC nicht neu starten müssen, nachdem Sie einen Cron-Job erstellt oder bearbeitet haben. Speichern Sie einfach die Datei und Sie können loslegen.

Häufige Verwendungen von Cron-Jobs

Grundlegende Teile eines Cron-Befehls

Die Standardsyntax der crontab ist wie folgt:

a b c d e BENUTZERNAME /Pfad/zur/Skriptausgabe

1.Die Uhrzeit und das Datum sowie die Wiederholung des Jobs werden durch die fünf Felder angegeben:

Hinweis: Die Tage beginnen mit Montag. 0 und 7 stehen für Sonntag

2. NUTZERNAME: Denken Sie daran, dies durch Ihren Benutzernamen zu ersetzen

3. Der spezifische Ort und das Skript, das von Cron ausgeführt werden soll, werden durch das dritte Segment angegeben:

/Pfad/zu/Skript

4. Der letzte Abschnitt definiert die Benachrichtigung des Benutzers nach Abschluss des Jobs, um den Überblick über die Aufgaben zu behalten:

Ausgabe

Ihr Posteingang kann jedoch voller kleinerer Aufgaben sein, die häufig gechannelt werden. Um dies zu vermeiden, können Sie die automatische E-Mail-Ausgabe deaktivieren, indem Sie die folgende Zeichenfolge zu Ihrem cron-Befehl hinzufügen:

>/dev/null 2>&1 e.g a b c d e BENUTZERNAME /Pfad/zu/Skript>/dev/null 2>&1

Darüber hinaus verwendet cron vier weitere Werte, die bei der Angabe mehrerer Werte in einem Feld verwendet werden. Sie sind:

Cronjobs einrichten

Die crontab-Befehle sind für das Erstellen und Bearbeiten von Cron-Jobs verantwortlich, da die Cron-Dateien nicht direkt bearbeitet werden sollten. Die crontab definiert, wie Sie die Cron-Aufgaben erstellen, bearbeiten, auflisten, debuggen, installieren und deinstallieren können.

Bevor Sie mit Cron-Jobs beginnen, müssen Sie unbedingt sicherstellen, dass Ihr Linux-Desktop oder -Server auf dem neuesten Stand ist, indem Sie die folgenden Befehle ausführen:

sudo apt aktualisieren sudo apt aktualisieren

Wenn Sie das Cron-Paket nicht auf Ihrem System installiert haben, installieren Sie es mit dem folgenden Befehl:

sudo apt-get install cron

cron installieren

So bearbeiten Sie die crontab-Datei?

Um den Vorgang abzuschließen, müssen Sie den Cron-Job konfigurieren. Der beim Erstellen eines Cron-Jobs angemeldete Benutzer wird automatisch zum Eigentümer. Dies kann geändert werden, indem Sie einen Job-Eigentümer erstellen, der für die Verwaltung des Cron-Jobs verantwortlich ist, wie wir in diesem Beitrag sehen werden.

Um die crontab-Konfigurationsdatei für den aktuell angemeldeten Benutzer zu öffnen, führen Sie den folgenden Befehl aus:

crontab -e

Sie werden vom System aufgefordert, einen geeigneten Editor auszuwählen. In unserem Fall wählen wir die erste Option (Nano-Editor).

crontab -e

Sie können eine geplante Aufgabe pro Zeile nach Ihren Wünschen hinzufügen add.

crontab-Datei

Nachdem Sie die Aufgaben hinzugefügt haben, schließen Sie die Datei ab und beenden Sie sie. Alle bereitgestellten Anweisungen werden vom Cron-Daemon gelesen und ausgeführt. Die Änderungen werden auch ohne Neustart Ihres Systems übernommen, da das Repository automatisch aktualisiert wird.

Crontab für einen anderen Benutzer bearbeiten

Crontab kann für verschiedene Benutzer mit einem Befehl in der folgenden Syntax bearbeitet werden:

crontab -u anderer_Benutzername -e

So verwenden Sie Sonderzeichen in crontab-Befehlen

Charaktere und Operatoren diktieren mehr Anpassung Ihres Systems, da sie die Fähigkeiten einer Cron-Aufgabe erweitern.

0 6* * 1-5 /root/backup.Sch

Dabei steht 06 für 6 Uhr morgens 1-5 steht für die Anzahl der Tage (Montag bis Freitag).

35 1-23/2 * * * /Pfad/zu/Skript/Skript.Sch

1-23 gibt den Stundenbereich an, /2 setzt das Intervall auf jede zweite Stunde.

Cron-Optionen

Möglicherweise möchten Sie die Cron-Jobs in Ihrem System auflisten, ohne die crontab-Konfigurationsdatei zu entsperren. Dazu starten Sie Ihr Terminal und geben den folgenden Befehl ein:

crontab -l

Cronjobs auflisten

Dieser Befehl listet alle in Ihrem System vorhandenen Cron-Jobs auf.

Um alle crontab-Befehle zu löschen, können Sie den folgenden Befehl verwenden:

crontab -r
crontab -r -u anderer-Benutzername

Verwenden von Zeichenfolgen in Crontab

Strings sind äußerst nützliche Tools für Entwickler, da sie das wiederholte Schreiben von Codesegmenten vermeiden. Glücklicherweise unterstützen crontabs verschiedene Zeichenfolgenwerte. Sie beinhalten:

@stündlich: -wie - „0 * * * *“ ( Wird einmal alle ausgeführt Stunde)
@Mitternacht:  -wie - „0 0 * * *“ ( Wird einmal alle ausgeführt Tag)
@Täglich: genauso wie mitternacht
@wöchentlich:  -wie - „0 0 * * 0“ ( Wird einmal alle ausgeführt Woche)
@monatlich: -wie - „0 0 1 * *“ ( Wird einmal alle ausgeführt Monat)
@jährlich: -wie - „0 0 1 1 *“ ( Wird einmal alle ausgeführt Jahr)
@jährlich: ähnlich wie @jährlich
@neustart: Wird nach jedem Neustart/Neustart/Start einmal ausgeführt.

Ein gutes Beispiel; Wenn Sie ein Backup-Skript haben, das Sie jeden Tag ausführen möchten, verwenden Sie den folgenden Befehl:

@täglich /path/to/backup_script.Sch

Beispiele für Cronjobs

Hier ist eine Liste der grundlegenden Cron-Jobs, die zu Beginn verwendet werden können:

    1. So führen Sie jede Minute ein Skript aus:
      * * * * * /Ihr/Skript/Pfad.Sch
    2. So führen Sie alle 40 Minuten ein Skript aus:
      40 * * * * /Ihr/Skript/Pfad.Sch
    3. So führen Sie stündlich ein Skript aus:
      0 * * * * /Ihr/Skript/Pfad.Sch
    4. So führen Sie jedes Mitternacht ein Skript aus:
      0 0 * * * /Ihr/Skript/Pfad.Sch
    5. So führen Sie jeden Tag alle 23 Minuten nach Mitternacht, 2 Uhr und 4 Uhr ein Skript aus:
      23 0-23/2 * * * /Ihr/Skript/Pfad.Sch
    6. So führen Sie ein Skript bei 4 . aus.05 jeden Sonntag.
      5 4 * * Sonne /Ihr/Skript/Pfad.Sch
    7. Um ein Skript unter der Woche um 22 Uhr auszuführen.
      0 22 * ​​* 1-5 /Ihr/Skript/Pfad.Sch
    8. So führen Sie ein Skript am 1. Dezember - Mitternacht aus.
      0 0 0 12 * /Ihr/Skript/Pfad.Sch
    9. Um am Samstag um Mitternacht ein Skript auszuführen.
      0 0 * * 6 /Ihr/Skript/Pfad.Sch
    10. So führen Sie stündlich ein Skript aus.
      0 * * * * /Ihr/Skript/Pfad.Sch

Mit diesen grundlegenden Beispielen erhalten Sie ein tieferes Verständnis der Sequenz und wie sie modifiziert werden kann.

Cron-Zugriff einschränken

Wir sehen, dass Cron-Jobs sehr nützlich sein können, insbesondere wenn Sie Ihre Aufgaben automatisieren möchten. Es kann jedoch auch riskant sein, wenn das System jedem Benutzer erlaubt, einen Cron-Job zu erstellen. Auch wenn dies keine Auswirkungen auf persönliche Daten hat, können einige Cron-Jobs eine beträchtliche Menge an Systemressourcen beanspruchen und somit den PC verzögern. Um solche Szenarien zu vermeiden, kann der Systemadministrator (Root-Benutzer) ein /etc/cron.ermöglichen  oder /etc/cron.verweigern die Datei, die nur Benutzer enthält, die dies können 'erstellen/nicht-erstellen' ein Cronjob.

Das /etc/cron.ermöglichen die Datei enthält Benutzer, die Crontab-Dateien erstellen, bearbeiten, anzeigen oder entfernen können. Wenn diese Datei nicht vorhanden ist, können alle Benutzer andere Cron-Jobs erstellen und verwalten als die im /etc/cron.verweigern Datei. Wenn keine dieser Dateien vorhanden ist, sind Superuser-Berechtigungen erforderlich, um den Befehl crontab auszuführen run.

Cron-Datei zulassen

Nachdem Sie nun verhindert haben, dass Nicht-Root-Benutzer Cron-Jobs erstellen, falls sie bereits welche hatten, könnten Sie erwägen, ihre Cron-Jobs in der Root-Crontab-Datei hinzuzufügen. Aber hier ist ein Rätsel - Durch das Hinzufügen ihrer Cron-Jobs zur Root-Crontab werden ihre Cron-Jobs nicht als Root ausgeführt?? Nun, hier kommt die Bedeutung des USERNAME-Felds, das wir oben in der Cron-Befehlssyntax besprochen haben. Zum Beispiel der folgende Befehl:

0 * * * * fosslinux /path/to/script.Sch

Wird als Cron-Job des Benutzers „fosslinux“ ausgeführt und nicht als Root-Benutzer.

Fazit

Sie haben jetzt eine klare Anleitung zur Verwendung von Cron-Jobs, um verschiedene Aufgaben auf Ihrem System zu automatisieren. Das sollte Sie nicht mit Startup-Anwendungen verwechseln. Verwenden Sie die obigen Beispiele, um einfache Skripte zu automatisieren. Mit der Zeit können Sie Sonderzeichen und Platzhalter kombinieren, um viel alltäglichere Aufgaben auszuführen. Wenn Sie gerade erst anfangen, wäre es toll, unseren Beitrag zum Bash-Skript-Tutorial mit Beispielen zu lesen, die Ihnen bei der Erstellung Ihres ersten Skripts helfen.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...