Crontab in Linux mit 20 nützlichen Beispielen, um Jobs zu planen

Crontab in Linux mit 20 nützlichen Beispielen, um Jobs zu planen

Führen Sie alle so viele Minuten einen Cron -Job auf Ihrem Server aus?? Sind Sie ein Systemadministrator oder Ingenieur, der täglich Cron -Jobs verwalten muss? Vergessen Sie immer wieder die Syntax für die Einrichtung eines neuen Cron -Jobs? Wenn ja, lesen Sie weiter.

Cron ist ein wesentlicher Bestandteil eines jeden Systems, da es verschiedene geplante Aufgaben automatisiert. Der Befehl crontab wird verwendet, um Cron -Jobs zu bearbeiten und zu verwalten. Das Erstellen eines Cron -Jobs ist nicht schwierig, aber es kann schwierig werden, wenn es um mehrere Benutzer und Umgebungen geht. Die Crontab -Syntax ist für alle Linux -Verteilungen und -Invers meistens gleich. Sobald Sie den Dreh raus haben!

In diesem Tutorial lernen Sie, Crontab mit 20 nützlichen Beispielen für die Planung von Jobs zu verwenden. Sie können Crontab auch für die Aufgaben verwenden.

Wenn Sie nicht Crontab auf Ihrem System installiert haben.

Linux Crontab Syntax

Das Format einer Crontab -Datei ist sehr einfach: Jede Zeile enthält sechs Felder, die durch Leerzeichen getrennt sind. Das erste Feld gibt die Minute (0-59) an, wenn der Job ausgeführt wird, das zweite Feld angibt die Stunde (0-23), das dritte Feld den Tag des Monats (1-31) und so weiter. Wildkarten können auch in Crontab -Dateien verwendet werden. Zum Beispiel zeigt ein Sternchen im vierten Feld an, dass der Job jede Woche ausgeführt werden sollte.

       

  • Minute - Ein Minutenwert kann zwischen 0-59 liegen
  • Stunde - Ein Stundenwert kann zwischen 0 und 23 liegen
  • Tag des Monats - Dieser Wert kann zwischen 1-31. Für die Monate, die weniger Tage haben, ignorieren Sie den verbleibenden Teil
  • Monat des Jahres - Dies kann zwischen 1-12 sein. Sie können diesen Wert auch mit den ersten drei Alphabeten des Monats wie Jan, Februar, Mar, Apr usw. definieren.
  • Wochentag - Dies kann der Wert zwischen 0-7 sein. Wo 0 und 7 für Sonntag, 1 für Montag, 2 für Dienstag und so weiter. Sie können auch die ersten drei Alphabete von Tagen wie Sonne, Mon, Di, Mi usw. verwenden.

In den folgenden Aussagen werden nun beschrieben, wie mehrere Werte oder Bereiche definiert werden können. Unten lesen und verstehen.

  • Astrics (*) - Passt alles
  • Mehrere Werte - Verwenden Sie den Befehl (,), um mehrere Werte wie 2,4,8 oder Sun, Fr oder Jan, Oct, Dec usw. zu definieren.
  • Reichweite definieren - Sie können den Bereich mit dem Bindestrich wie 1-10 oder 20-30 oder Sun-Fr oder Feb-Apr definieren
  • Definieren Sie mehrere Bereiche - Sie können mehrere Bereiche mit getrennten Befehlen definieren wie: Jan-Mar, Jul-Sep

So fügen/bearbeiten Sie Crontab

Crontab -Dateien werden normalerweise im /etc /cron gespeichert.D/ Verzeichnis auf Linux -Systemen. Der Befehl crontab kann verwendet werden, um die Crontab -Datei zu bearbeiten.

Crontab -e 

Standardmäßig werden die Crontab-Einträge des aktuell angemeldeten Benutzers bearbeitet. Um andere Benutzer Crontab zu bearbeiten, verwenden Sie den folgenden Befehl:

crontab -u username -e 

Ändere das EDITOR Umgebungsvariable, um Ihren Standard -Editor zu ändern.

So listen Sie Crontab auf

Um die Crontab -Einträge der aktuellen Benutzer anzuzeigen, verwenden der folgende Befehl.

Crontab -l 

Verwenden Sie -u, gefolgt vom Benutzernamen, um die Crontab -Einträge des angegebenen Benutzers anzuzeigen.

crontab -u username -l 

20 nützliche Beispiele für die Planung von Crontab

Hier finden Sie die Liste der Beispiele für die Planung von Cron -Jobs in einem Linux -System mit Crontab.

  1. Planen Sie einen Cron, um täglich um 2 Uhr morgens auszuführen.
  2. Dies ist nützlich, um die Datenbanksicherung täglich zu planen.

    0 2 * * * /bin /sh Backup.Sch 
    • Sternchen (*) wird verwendet, um alle Datensätze zu entsprechen.
  3. Planen Sie einen Cron, um zweimal am Tag auszuführen.
  4. Der folgende Beispielbefehl wird täglich um 5 Uhr und 17 Uhr ausgeführt. Sie können mehrere Zeitstempel per Comma-getrennter angeben.

    0 5,17 * * * /scripts /script.Sch 
  5. Planen Sie einen Cron, um jede Minute auszuführen.
  6. Im Allgemeinen benötigen wir kein Skript, um jede Minute auszuführen, aber in einigen Fällen müssen Sie es möglicherweise konfigurieren.

    * * * * * /scripts /script.Sch 
  7. Planen Sie einen Cron, um jeden Sonntag um 17 Uhr auszuführen.
  8. Diese Art von Cron ist nützlich für wöchentliche Aufgaben, wie die Protokollrotation usw.

    0 17 * * Sun /Skripte /Skript.Sch 
  9. Planen Sie einen Cron, um alle 10 Minuten auszuführen.
  10. Wenn Sie Ihr Skript in Intervallen von 10 Minuten ausführen möchten, können Sie es wie das unten konfigurieren. Diese Arten von Crons sind nützlich für die Überwachung.

    */10 * * * */scripts/monitor.Sch 

    */10: Mittel, alle 10 Minuten zu laufen. Gleiches als ob Sie alle 5 Minuten ausführen möchten, verwenden Sie */5.

  11. Planen Sie einen Cron, um in ausgewählten Monaten auszuführen.
  12. Manchmal müssen wir eine Aufgabe planen, die nur für ausgewählte Monate ausgeführt werden soll. Nachfolgend ein Beispiel wird das Skript im Januar, Mai und August Monate ausgeführt.

    * * * Jan, Mai, Aug * /Skript /Skript.Sch 
  13. Planen Sie einen Cron, der an ausgewählten Tagen ausgeführt wird.
  14. Wenn Sie eine Aufgabe planen müssen, um nur für ausgewählte Tage ausgeführt zu werden. Das folgende Beispiel läuft an jedem Sonntag und Freitag um 17 Uhr.

    0 17 * * Sonne, Fr /Skript /Skript.Sch 
  15. Planen Sie einen Cron, um am ersten Sonntag im Monat auszuführen.
  16. Um ein Skript zu planen, um ein Skript am ersten Sonntag auszuführen, ist nur nach Zeitparameter nicht möglich, aber wir können die Bedingung in Befehlsfeldern verwenden, um dies zu tun.

    0 2 * * sun [$ (Datum +%d) -le 07] && /script /script.Sch 
  17. Planen Sie einen Cron, um alle vier Stunden auszuführen.
  18. Wenn Sie ein Skript in Intervallen von 4 Stunden ausführen möchten. Es kann wie unten konfiguriert werden.

    0 */4 * * */scripts/script.Sch 
  19. Planen Sie einen Cron, um jeden Sonntag und Montag zweimal auszuführen.
  20. Um eine Aufgabe zu planen, um nur am Sonntag und Montag zweimal auszuführen. Verwenden Sie die folgenden Einstellungen, um dies zu tun.

    0 4,17 * * Sun, Mon /Skripte /Skript.Sch 
  21. Planen Sie einen Cron, um alle 30 Sekunden auszuführen.
  22. Die Planung einer Aufgabe, die alle 30 Sekunden ausführen kann, ist nach Zeitparametern nicht möglich, kann jedoch durch eine Planung des gleichen Crons zweimal wie unten erfolgen.

    * * * * * /scripts /script.Sh * * * * * Schlaf 30; /Skripte/Skript.Sch 
  23. Planen Sie mehrere Aufgaben in einem einzigen Cron.
  24. Um mehrere Aufgaben mit einem einzelnen Cron zu konfigurieren, kann durch Trennen von Aufgaben durch das Semikolon (;) erledigt werden.

    * * * * * /scripts /script.Sch; /scripts/scrit2.Sch 
  25. Planen Sie Aufgaben, um jährlich auszuführen (@yearly).
  26. @jährlich Der Zeitstempel ist ähnlich wie0 0 1 1 *“. Es wird in der ersten Minute eines jeden Jahres eine Aufgabe ausführen. Es kann nützlich sein, Neujahrsgrüße zu senden. 🙂

    @yearly /scripts /script.Sch 
  27. Planen Sie Aufgaben, um monatlich auszuführen (@Monthly).
  28. @monatlich Der Zeitstempel ist ähnlich wie0 0 1 * * *“. In der ersten Minute des Monats wird eine Aufgabe ausgeführt. Es kann nützlich sein, monatliche Aufgaben wie die Zahlung der Rechnungen und die Rechnungsstellung an Kunden zu erledigen.

    @monthly /scripts /script.Sch 
  29. Planen Sie Aufgaben, um wöchentlich auszuführen (@weekly).
  30. A @wöchentlich Der Zeitstempel ist ähnlich wie0 0 * * Sonne“. In der ersten Minute der Woche wird eine Aufgabe ausgeführt. Es kann nützlich sein, wöchentliche Aufgaben wie die Reinigung des Systems usw. zu erledigen.

    @weekly /bin /script.Sch 
  31. Planen Sie Aufgaben, um täglich auszuführen (@Daily).
  32. @täglich Der Zeitstempel ist ähnlich wie0 0 * * * *“. Es wird eine Aufgabe in der ersten Minute eines jeden Tages ausführen. Es kann nützlich sein, tägliche Aufgaben zu erledigen.

    @daily /scripts /script.Sch 
  33. Planen Sie Aufgaben, um stündlich auszuführen (@hourly).
  34. @stündlich Der Zeitstempel ist ähnlich wie0 * * * * *“. Es wird eine Aufgabe in der ersten Minute jeder Stunde ausführen. Es kann nützlich sein, stündliche Aufgaben zu erledigen.

    @hourly /scripts /script.Sch 
  35. Planen Sie Aufgaben, um den System -Neustart auszuführen (@Reboot).
  36. @REBOOT ist nützlich für die Aufgaben, die Sie mit Ihrem Systemstart ausführen möchten. Es wird dasselbe wie Systemstart -Skripte sein. Es ist nützlich, um Aufgaben im Hintergrund automatisch zu starten.

    @Reboot /Skripte /Skript.Sch 
  37. Umleiten Sie Cron -Ergebnisse in ein bestimmtes E -Mail -Konto um.
  38. Standardmäßig sendet Cron Details an den aktuellen Benutzer, in dem Cron geplant ist. Wenn Sie es in Ihr anderes Konto umleiten möchten, können Sie die E -Mail -Variable wie unten einrichten

    Crontab -l  Mail = bob 0 2 * * * /script /backup.Sch 
  39. Nehmen Sie eine Sicherung des gesamten Crons zu einer einfachen Textdatei.
  40. Ich empfehle, eine Sicherung aller Jobs in einer Datei zu behalten. Dies hilft Ihnen, Cron im Falle einer zufälligen Löschung zurückzufordern.

    Überprüfen Sie den aktuellen geplanten Cron:

    Crontab -l  Mail = rahul 0 2 * * * /script /backup.Sch 

    Sicherung von Cron in Textdatei:

    # Crontab -l> Cron -Backup.TXT # CAT CRON-BACKUP.txt mail = rahul 0 2 * * * /script /backup.Sch 

    Entfernen des aktuellen geplanten Cron:

    # crontab -r # crontab -l no crontab für root 

    Kornen aus der Textdatei wiederherstellen:

    # Crontab Cron-Backup.txt # crontab -l mail = rahul 0 2 * * * /script /backup.Sch 

Abschluss

Vielen Dank für das Lesen dieses Artikels, ich hoffe, es wird Ihnen helfen, Crontab in Linux zu verstehen. Für die Planung von einmaligen Aufgaben können Sie auch Linux unter dem Befehl verwenden.