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

So automatisieren Sie Aufgaben mit Cron-Jobs in Linux

Wenn Sie in der IT arbeiten, müssen Sie möglicherweise verschiedene sich wiederholende Aufgaben als Teil Ihrer Automatisierungsprozesse planen.

Beispielsweise können Sie einen bestimmten Job so planen, dass er regelmäßig zu bestimmten Tageszeiten ausgeführt wird. Dies ist hilfreich für die Durchführung täglicher Sicherungen, die monatliche Protokollarchivierung, das wöchentliche Löschen von Dateien, um Speicherplatz zu schaffen, und so weiter.

Und wenn Sie Linux als Betriebssystem verwenden, verwenden Sie einen sogenannten Cron-Job, um dies zu erreichen.

Was ist ein Cron?

Cron ist ein Dienstprogramm zur Auftragsplanung, das in Unix-ähnlichen Systemen vorhanden ist. Der Crond-Daemon aktiviert die Cron-Funktionalität und läuft im Hintergrund. Der Cron liest die crontab (cron-Tabellen) zum Ausführen vordefinierter Skripte.

Durch die Verwendung einer bestimmten Syntax können Sie einen Cron-Job konfigurieren, um Skripts oder andere Befehle so zu planen, dass sie automatisch ausgeführt werden.

Für einzelne Benutzer überprüft der Cron-Dienst die folgende Datei:/var/spool/cron /crontabs

Was sind Cron-Jobs in Linux?

Jede Aufgabe, die Sie über Crons planen, wird als Cron-Job bezeichnet. Cron-Jobs helfen uns, unsere Routineaufgaben zu automatisieren, egal ob stündlich, täglich, monatlich oder jährlich.

Sehen wir uns nun an, wie Cron-Jobs funktionieren.

Wie man den Zugriff auf Crons steuert

Um Cron-Jobs verwenden zu können, muss ein Administrator zulassen, dass Cron-Jobs für Benutzer in der Datei „/etc/cron.allow“ hinzugefügt werden.

Wenn Sie eine Eingabeaufforderung wie diese erhalten, bedeutet dies, dass Sie keine Berechtigung zur Verwendung von cron haben.

Um John die Verwendung von Crons zu erlauben, fügen Sie seinen Namen in „/etc/cron.allow“ ein. Dadurch kann John Cron-Jobs erstellen und bearbeiten.

Benutzern kann der Zugriff auf Cron-Jobs auch verweigert werden, indem sie ihren Benutzernamen in die Datei „/etc/cron.d/cron.deny“ eingeben.

Wie man Cron-Jobs in Linux hinzufügt

Um Cron-Jobs verwenden zu können, müssen Sie zunächst den Status des Cron-Dienstes überprüfen. Wenn cron nicht installiert ist, können Sie es einfach über den Paketmanager herunterladen. Verwenden Sie einfach dies, um zu überprüfen:

# Check cron service on Linux system
sudo systemctl status cron.service

Cronjob-Syntax

Crontabs verwenden die folgenden Flags zum Hinzufügen und Auflisten von Cron-Jobs.

  • crontab -e :bearbeitet Crontab-Einträge, um Cron-Jobs hinzuzufügen, zu löschen oder zu bearbeiten.
  • crontab -l :listet alle Cron-Jobs für den aktuellen Benutzer auf.
  • crontab -u username -l : die Crons eines anderen Benutzers auflisten.
  • crontab -u username -e : die Crons eines anderen Benutzers bearbeiten.

Wenn Sie Crons auflisten, sehen Sie etwa Folgendes:

# Cron job example
* * * * * sh /path/to/script.sh

Im obigen Beispiel

  • * * * * * steht für Minute(n) Stunde(n) Tag(e) Monat(e) Wochentag(e).
Wert Beschreibung
Minuten 0-59 Befehl würde zur angegebenen Minute ausgeführt.
Stunden 0-23 Befehl wird zur angegebenen Uhrzeit ausgeführt.
Tage 1-31 Befehle werden in diesen Tagen des Monats ausgeführt.
Monate 1-12 Der Monat, in dem Aufgaben ausgeführt werden müssen.
Wochentage 0-6 Wochentage, an denen Befehle ausgeführt werden. Hier ist 0 Sonntag.
  • sh stellt dar, dass das Skript ein Bash-Skript ist und von /bin/bash ausgeführt werden sollte .
  • /path/to/script.sh gibt den Pfad zum Skript an.

Nachfolgend finden Sie die Zusammenfassung der Cron-Job-Syntax.

*   *   *   *   *  sh /path/to/script/script.sh
|   |   |   |   |              |
|   |   |   |   |      Command or Script to Execute        
|   |   |   |   |
|   |   |   |   |
|   |   |   |   |
|   |   |   | Day of the Week(0-6)
|   |   |   |
|   |   | Month of the Year(1-12)
|   |   |
|   | Day of the Month(1-31)  
|   |
| Hour(0-23)  
|
Min(0-59)

Cron-Job-Beispiele

Nachfolgend finden Sie einige Beispiele für das Planen von Cron-Jobs.

Zeitplan Geplanter Wert
5 0 * 8 * Um 00:05 im August.
5 4 * * 6 Am Sonntag um 04:05 Uhr.
0 22 * ​​* 1-5 Um 22:00 Uhr an jedem Wochentag von Montag bis Freitag.

Es ist in Ordnung, wenn Sie nicht in der Lage sind, dies alles auf einmal zu begreifen. Mit dem Crontab-Guru können Sie Cron-Zeitpläne üben und erstellen.

So richten Sie einen Cronjob ein

In diesem Abschnitt sehen wir uns ein Beispiel an, wie man ein einfaches Skript mit einem Cron-Job plant.

  1. Erstellen Sie ein Skript namens date-script.sh die das Systemdatum und die Uhrzeit druckt und an eine Datei anhängt. Das Skript ist unten dargestellt:

2. Machen Sie das Skript ausführbar, indem Sie ihm Ausführungsrechte geben.

chmod 775 date-script.sh

3. Fügen Sie das Skript in der Crontab mit crontab -e hinzu .

Hier haben wir es so geplant, dass es pro Minute ausgeführt wird.

4. Überprüfen Sie die Ausgabe der Datei date-out.txt . Gemäß dem Skript sollte das Systemdatum jede Minute in diese Datei gedruckt werden.

Fehlerbehebung bei Crons

Crons sind wirklich hilfreich, aber sie funktionieren möglicherweise nicht immer wie beabsichtigt. Glücklicherweise gibt es einige effektive Methoden, mit denen Sie Fehler beheben können.

  1. Überprüfen Sie den Zeitplan.

Zunächst können Sie versuchen, den für den Cron festgelegten Zeitplan zu überprüfen. Sie können dies mit der Syntax tun, die Sie in den obigen Abschnitten gesehen haben.

2. Cron-Protokolle prüfen.

Zuerst müssen Sie überprüfen, ob der Cron zum vorgesehenen Zeitpunkt ausgeführt wurde oder nicht. Sie können dies anhand der Cron-Protokolle unter var/log/cron überprüfen . In einigen Distributionen sind Protokolle unter /var/log/syslog zu finden

Wenn in diesen Protokollen zur richtigen Zeit ein Eintrag vorhanden ist, bedeutet dies, dass der Cron gemäß dem von Ihnen festgelegten Zeitplan ausgeführt wurde.

Unten sind die Protokolle unseres Cron-Job-Beispiels. Beachten Sie die erste Spalte, die den Zeitstempel anzeigt. Der Pfad des Skripts wird auch am Ende der Zeile angegeben.

3. Cron-Ausgabe in eine Datei umleiten.

Sie können die Ausgabe eines Crons in eine Datei umleiten und die Datei auf mögliche Fehler überprüfen.

# Redirect cron output to a file
* * * * * sh /path/to/script.sh &> log_file.log

Abschluss

Das Automatisieren von Aufgaben, wie z. B. mit Cron-Jobs, reduziert die sich wiederholende Arbeit, die Sie erledigen müssen. Es lässt Maschinen auch automatisch heilen und rund um die Uhr ohne menschliches Eingreifen arbeiten.

Die Automatisierung in Linux ist stark von Cron-Jobs abhängig, also sollten Sie Crons unbedingt lernen und damit experimentieren.

Vielen Dank für das Lesen bis zum Ende. Feedback ist immer willkommen.

Wenn Sie diesen Artikel hilfreich fanden, teilen Sie ihn doch mit Ihren Freunden.

Vernetzen wir uns auf Twitter!


Linux
  1. Planen von Aufgaben mit dem Linux-Cron-Befehl

  2. Wie ich Cron unter Linux verwende

  3. Planen von Systemaufgaben mit Cron unter Linux

  4. Automatisieren Sie Systemaufgaben mit crontab auf CentOS 7

  5. So planen Sie Cron-Jobs mit Crontab

So verwalten Sie Cron-Jobs unter Linux einfach und sicher

So sichern Sie Linux-Server mit SE Linux

So zeigen Sie Cron-Jobs in Linux an oder listen sie auf

So automatisieren Sie tägliche Jobs unter Linux mit (at)

Cron Vs Anacron:So richten Sie Anacron unter Linux ein (mit einem Beispiel)

So planen Sie Jobs mit Cron in Linux