Linux bietet einige der zuverlässigsten, konsistentesten und intelligentesten Möglichkeiten zur Steuerung Ihres Systems, sei es privat oder geschäftlich. Tatsächlich gibt es Hunderte von Systemdienstprogrammen, die explizit für bestimmte Anwendungsfälle entwickelt wurden. Der crontab-Befehl ist ein solcher Befehl, der die Systemverwaltung viel produktiver machen kann. Dies ist ein praktisches Software-Dienstprogramm, das in die meisten Unix-Systeme integriert ist und es dem Systemadministrator ermöglicht, seine Cron-Jobs zu erstellen und zu bearbeiten. Also, was sind diese Cron-Jobs und welche Bedeutung haben sie? Hier ist eine ausführliche Anleitung, die Sie mit Cron-Jobs vertraut macht und 50 nützliche Crontab-Beispiele vorstellt.
Nützliche Linux-Crontab-Befehle
Dieses Handbuch zielt darauf ab, die crontab-Befehle Anfängern von Linux neben beginnenden Systemadministratoren vorzustellen. Sie können die Grundlagen der crontab-Linux-Befehle lernen und diesen Beitrag mit einem Lesezeichen versehen, um später darauf zurückgreifen zu können. Wenn Sie ein erfahrener Systemadministrator sind, ist das Konsultieren der Manpage die bessere Wahl für Sie. Unsere Redakteure haben auch einige wichtige Informationen zu Cron und Crontab im Allgemeinen bereitgestellt.
Cron und Crontab:Ein früher Einblick
Cron ist also im Grunde ein Job-Scheduler, der dabei helfen kann, viele herkömmliche, aber wiederholt verwendete Funktionen zu automatisieren. Angenommen, ein Systemadministrator muss sein System jede Woche für neuere Pakete aktualisieren. Vielleicht möchte er auch unbenutzte Pakete jeden Monat reinigen. Nun, dies sind einfache, aber sich wiederholende Aufgaben, die der Systemadministrator automatisieren kann. Cron ermöglicht uns genau das.
Cron arbeitet mit der Crontab-Datei. Es ist eine Datei, die alle geplanten Jobs auflistet und wann sie auszuführen sind. Auf einem Standard-Linux-Rechner gibt es verschiedene Crontab-Dateien, die auf Benutzerrechten basieren. Wir werden unsere Beispiele hauptsächlich auf der crontab der Standardbenutzer basieren.
Der Befehl crontab unter Linux verwaltet crontab-Dateien für einzelne Benutzer. Crontab ist also der Befehl, der es uns ermöglicht, Crontab-Dateien zu ändern, und Cron führt sie aus. Die Jobs in unserer Crontab-Datei werden als Cron-Jobs bezeichnet und bestehen aus Standard-Linux-Befehlen. Sie enthalten auch den Zeitraum, in dem cron sie ausführen muss.
Crontab-Befehlsstruktur erklärt
Jeder Eintrag in crontab steht für einen bestimmten Job. Diese haben die Form von Befehlen, denen die Zeit ihrer Ausführung vorangestellt ist. Sie haben eine strenge Syntax, die beibehalten werden muss, oder Ihre Cron-Jobs führen möglicherweise nicht das aus, was Sie von ihnen erwarten. Diese Syntax wird unten zur weiteren Beurteilung gezeigt.
Die Crontab-Einträge des Standardbenutzers haben sechs verschiedene Felder. Die Crontab-Einträge des Root-Benutzers enthalten ein zusätzliches Feld, um anzugeben, für wen ein bestimmter Cron-Job ausgeführt werden soll. Sehen wir uns nun an, was diese Felder bestimmen und welchen Zweck sie haben.
- -m h dom mon dow command
Die ersten fünf Felder oben werden verwendet, um Informationen darüber zu übergeben, wann die in den sechs Feldern angegebenen Befehle ausgeführt werden sollen. Das erste Feld wird verwendet, um anzugeben, in welcher Minute Cron den Befehl aufrufen soll. Das zweite Feld gibt die Stunde an (24-Stunden-Format), das dritte Feld stellt das Datum des Monats dar, das folgende Feld den Monat und das nächste den Wochentag.
Machen Sie sich keine Sorgen, wenn Sie sie jetzt nicht erhalten. Wenn Sie einige nützliche Befehle durchgehen, werden Sie sie viel besser verstehen. Bleiben Sie also auf dem Laufenden und probieren Sie diese Befehle aus. Bleiben Sie vorerst bei Ihrer Benutzersitzung, Sie müssen sie nicht mit Root-Rechten ausprobieren.
Grundlegende Linux-Crontab-Befehle
Das Verständnis der grundlegenden Crontab-Befehle hilft Ihnen, das Tool langfristig zu beherrschen. Im Folgenden diskutieren wir einige sehr grundlegende, aber entscheidende Befehle, die Ihre Produktivität als Linux-Systemadministrator auf ein ganz neues Niveau bringen werden. Probieren Sie sie gleich aus, um Erfahrungen aus erster Hand zu sammeln.
1. Crontab bearbeiten
$ crontab -e
Der obige Befehl wird zum Aufrufen Ihrer Standard-Crontab verwendet. Sie können diese Datei jetzt bearbeiten und Ihre eigenen Jobs einfügen, die zu einem bestimmten Zeitpunkt ausgeführt werden sollen. Standardmäßig sollte diese Crontab einige Kommentare enthalten, die Ihnen helfen werden, ihre Funktionalität genauer zu verstehen.
2. Crontab auflisten
Sie können den folgenden Befehl verwenden, um die aktuell verwendete Crontab aufzulisten. Dieser Befehl gibt einfach den Inhalt der Crontab-Datei in der Standardausgabe aus. Es kann sich als nützlich erweisen, wenn Crontabs untersucht werden.
$ crontab -l
3. Crontab für Benutzer bearbeiten
Angenommen, Ihr System hat einen Benutzer namens User und Sie möchten die Crontab-Konfiguration dieses Benutzers bearbeiten. Der nächste Befehl zeigt, wie das geht. Der Benutzername wird durch das -u übergeben Möglichkeit. Dies ist ein praktischer Befehl für Systemadministratoren, die andere Benutzer eines Systems überprüfen müssen.
$ crontab -u User -e
Dieser Befehl ist analog zum folgenden Befehl.
$ crontab -e User
4. Crontab für Benutzer auflisten
Die gleiche Struktur wird befolgt, wenn die Crontab eines anderen Benutzers aufgelistet wird. Alles, was Sie tun müssen, ist die Option -e durch die Option -l zu ersetzen, wie im zweiten Beispiel.
$ crontab -u User -l
Dieser Befehl ist gleichbedeutend mit dem folgenden Befehl.
$ crontab -l User
5. Crontab-Datei überprüfen
Oft müssen Sie überprüfen, ob ein bestimmter Benutzer eigene Crontabs hat oder nicht. Der nächste Befehl zeigt, wie Sie dies tun können.
$ sudo ls -l /var/spool/cron/crontabs
Es sollte alle verfügbaren Crontabs jedes Benutzers in Ihrem System auf der Standardausgabe ausgeben.
6. Löschen Sie Ihr Crontab
Wenn Sie alle vorgeplanten Aufgaben beenden möchten, ist das Löschen der crontab eine Option – der folgende Befehl zeigt, wie dies für den aktuell angemeldeten Benutzer durchgeführt werden kann.
$ crontab -r
Übergeben Sie einfach das Flag -r(remove) an crontab, um die crontab zu entfernen.
7. Löschen Sie die Crontab des Benutzers
Um die Crontab des Benutzers zu löschen, folgen Sie dem nächsten Befehl.
$ crontab -u User -r
Dasselbe kann mit dem folgenden Befehl erreicht werden.
$ crontab -r User
8. Beschränken Sie den Crontab-Zugriff auf bestimmte Benutzer
Systemadministratoren möchten den crontab-Zugriff möglicherweise nur auf einige bestimmte Benutzer beschränken. Dazu benötigen wir die cron.allow Datei. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob er in Ihrem System vorhanden ist oder nicht.
$ ls /etc/cron.d/ | grep ".allow"
Wenn diese Datei existiert, können Sie sie als Root bearbeiten und festlegen, wer auf Crontab-Dateien in Ihrem System zugreifen kann. Melden Sie sich andernfalls als Superuser an und erstellen Sie diese Datei selbst.
# vim /etc/cron.d/cron.allow
Geben Sie die Benutzernamen ein, für die Sie den Crontab-Zugriff aktivieren möchten. Vergessen Sie nicht, root ganz oben aufzuführen, sonst sperren Sie sich möglicherweise von Ihrem eigenen Crontab aus.
9. Crontab-Zugriff für bestimmte Benutzer verweigern
Sie können crontab-Zugriff für bestimmte Benutzer sehr einfach verweigern, indem Sie cron.deny verwenden Datei. Melden Sie sich als Root an und erstellen/bearbeiten Sie die Datei cron.deny.
# vim /etc/cron.d/cron.deny
Listen Sie die Benutzernamen auf, denen Sie den Crontab-Zugriff verweigern möchten. Diese Benutzer können Crontabs in Ihrem System nicht mehr auflisten oder bearbeiten.
Alltägliche Crontab-Linux-Befehle für Anfänger
Jetzt zeigen wir Ihnen einige häufig verwendete crontab-Befehle, mit denen Ihnen das Rechnen viel mehr Spaß machen wird. Diese Befehle sind generisch, sodass Sie sie je nach Bedarf schnell bearbeiten können. Wir empfehlen Ihnen, vorsichtig mit ihnen zu spielen, sonst könnten Sie etwas tun, das Sie später bereuen werden.
10. Erstellen Sie täglich um 5 Uhr morgens eine Sicherung aller Benutzerkonten
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Fügen Sie den obigen Eintrag mit dem Befehl crontab -e in Ihre crontab-Datei ein, und cron erstellt jetzt jeden Tag um 5 Uhr morgens ein Backup jedes Benutzerkontos auf Ihrem System. Die 0 am Anfang steht für die erste Minute und die 5 für die Stunde 5 Uhr morgens.
11. Erstellen Sie um 5:00 Uhr pro Woche ein Backup aller Benutzerkonten
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
Der obige crontab-Befehl erstellt die Sicherungsdatei jede Woche statt jeden Tag. Beachten Sie, dass hier der letzte Zeitwert durch 1 anstelle von *.
ersetzt wurde12. Planen Sie, dass Cron zweimal täglich einen Job ausführt
0 5,17 * * * /scripts/script.sh
Der obige crontab-Befehl lässt cron die ausführbare Datei script.sh täglich um 5:00 Uhr und 17:00 Uhr ausführen. Beachten Sie, wie das Komma verwendet wurde, um mehrere Stundenwerte anzugeben. Sie können weitere Werte mithilfe einer durch Kommas getrennten Liste hinzufügen, um die Aufgabe mehr als zweimal auszuführen.
13. Planen Sie Cron so, dass er täglich um 2 Uhr morgens einen Job ausführt
0 2 * * * /bin/sh backup.sh
Wenn Sie den obigen Eintrag in Ihre crontab-Datei einfügen, führt cron das Skript backup.sh jeden Tag um 2 Uhr morgens aus. Stellen Sie jedoch sicher, dass das Skript über eine Ausführungsberechtigung verfügt und sich im angegebenen Verzeichnis befindet.
14. Planen Sie Cron so, dass er täglich um 3:15 Uhr einen Job ausführt
15 3 * * * /bin/sh script.sh
Der obige Crontab-Eintrag führt das Bash-Skript mit dem Namen „script.sh“ aus jeden Tag um 3:15 Uhr. Diese Art von Crontabs ist nützlich, wenn Jobs geplant werden, die jeden Tag ausgeführt werden müssen.
15. Planen Sie Cron so, dass er jede Woche um 20:00 Uhr einen Job ausführt
0 20 * * 1 /bin/sh script.sh
Der obige crontab-Befehl lässt cron die script.sh-Datei jede Woche um 20:00 Uhr ausführen. Der Stundenwert muss im 24-Stunden-Zeitformat angegeben werden, um pm-Werte in Ihren Crontabs anzugeben.
16. Planen Sie, dass Cron am Montag um 20:00 Uhr einen Job ausführt
0 20 * * Mon /bin/sh script.sh
Der obige crontab-Befehl ruft den Cronjob jeden Montag um 20:00 Uhr auf. Dieser Befehl ist derselbe wie der nächste Befehl.
0 20 * * 7 /bin/sh script.sh
Die 7 im letzten Zeitfeld steht also für Montag.
17. Planen Sie montags und samstags um 20:00 Uhr einen Cronjob
0 20 * * Mon,Sat /bin/sh script.sh
Der obige Eintrag in Ihrer Crontab veranlasst Cron, die script.sh-Datei jeden Montag und Samstag um 20:00 Uhr auszuführen. Sie können dieses Skript an jedem anderen Wochentag ausführen lassen, indem Sie den Tagesnamen in einer durch Kommas getrennten Liste angeben.
Sie sollten jedoch immer versuchen, numerische Werte anzugeben, da viele Cron-Jobs mit den abgekürzten Werten nicht funktionieren. Derselbe Befehl, der mit dem numerischen Wert angegeben wird, würde wie unten gezeigt aussehen.
0 20 * * 1,6 /bin/sh script.sh
18. Planen Sie einen Cron-Job, der jede Minute ausgeführt wird
Im Allgemeinen benötigen Sie keinen Cron-Job, der jede Minute ausgeführt wird. Aber dies ist ein hervorragendes Beispiel dafür, wie Sie dies mit dem crontab-Befehl unter Linux tun können.
* * * * * /scripts/script.sh
Alle Sternchen im Zeitfeld Ihrer Crontabs bedeuten, dass die script.sh-Datei jede Minute ausgeführt wird. Sie sollten dies nicht auf Servern versuchen; Andernfalls können Sie das System sehr schnell stören.
19. Planen Sie einen Cron-Job, der alle 10 Minuten ausgeführt wird
Manchmal möchten Sie vielleicht, dass cron einen Job in jeder angegebenen Zeit ausführt. Der folgende Befehl zeigt, wie alle 10 Minuten eine Aufgabe ausgeführt wird.
*/10 * * * * /scripts/script.sh
Der obige Befehl lässt cron die ausführbare script.sh alle 10 Minuten ausführen. Die / Operator wird verwendet, um diese Schrittwerte in Ihrer Crontab zu erreichen.
20. Planen Sie einen Cron-Job, der sonntags und montags alle 15 Minuten ausgeführt wird
Der nächste Befehl weist cron an, den angegebenen Job sonntags und montags alle 15 Minuten auszuführen. Dieser Befehl ist aus mehreren Gründen nützlich. Wenn Ihr System an bestimmten Tagen bestimmte Aufgaben ausführt, kann sich dieser Befehl als nützlich erweisen.
*/15 * * * Sun,Mon /scripts/script.sh
Derselbe Befehl kann wie unten gezeigt pragmatischer geschrieben werden.
*/15 * * * 7,1 /scripts/script.s
21. Einen Cron-Job so planen, dass er in bestimmten Monaten ausgeführt wird
* * * jan,may,aug * /script/script.sh
Die obige Crontab veranlasst Cron, das angegebene Skript jede Minute im Januar, Mai und August auszuführen. Wie bei Wochen kann derselbe Befehl nur mit numerischen Werten geschrieben werden, wie unten gezeigt.
* * * 1,5,8 * /script/script.sh
22. Planen Sie die Ausführung eines Cron-Jobs am 15. Januar um 20 Uhr
0 20 15 1 * /script/script.sh
Die wirkliche Stärke von crontab besteht darin, dass es Systemadministratoren ermöglicht, sehr robuste Zeiträume zu definieren. Der obige Befehl führt die script.sh-Datei jeden 15. Januar pünktlich um 20:00 Uhr aus. Derselbe Befehl kann wie folgt geschrieben werden.
0 20 15 Jan * /script/script.sh
23. Planen Sie einen Cron-Job, der alle zwei Monate ausgeführt wird
Mit dem Linux-Befehl crontab können Sie jeden zweiten Monat des Jahres einen Cron-Job planen. Fügen Sie einfach die nächste Zeile in Ihre Crontab-Datei ein.
0 0 15 */2 * /script/script.sh
Der obige crontab-Eintrag weist cron an, die script.sh-Datei an jedem 15. Tag des Monats in jedem zweiten Monat des Jahres aufzurufen. Diese Art von Befehlen ist nützlich, um das System zu aktualisieren oder aufzuräumen.
24. Planen Sie einen Cron-Job, der am ersten Sonntag jedes Monats ausgeführt wird
Es ist nicht möglich, einen Job zu planen, der am ersten Sonntag jedes Monats mit den crontab-Zeitraumwerten ausgeführt wird. Wir können jedoch den bedingten Abschnitt des Befehlsteils nutzen, um dies zu erreichen. Beachten Sie, wie der folgende Befehl sorgfältig implementiert wird.
0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh
Dieser Eintrag ruft die Datei script.sh nur am ersten Sonntag jedes Monats auf. Es ist analog zu dem unten gezeigten Befehl.
0 2 * * 7 [ $(date +%d) -le 07 ] && /script/script.sh
25. Planen Sie einen Cron-Job, der alle drei Stunden ausgeführt wird
Der folgende crontab-Eintrag ruft den Cron-Job alle drei Stunden auf.
0 */3 * * * /script/script.sh
Sehen Sie, wie das * vor dem /3 vorangestellt wird. Es weist cron an, den Befehl „alle“ 3 Stunden auszuführen
26. Planen Sie einen Cron-Job, der jeden Samstag und Montag zweimal ausgeführt wird
Systemadministratoren möchten bestimmte Befehle oft mehr als einmal pro Woche ausführen. Der folgende crontab-Eintrag lässt cron jeden Samstag und Montag einen Job zweimal ausführen.
0 8,20 * * 6,1 /scripts/script.sh
Cron führt die script.sh nun jeden Samstag und Montag um 8 Uhr und 20 Uhr aus. Der obige Eintrag entspricht dem nächsten Eintrag.
0 8,20 * * sat,mon /scripts/script.sh
27. Planen Sie einen Cron-Job, der alle 30 Sekunden ausgeführt wird
Es ist nicht möglich, einen Cron-Job anzugeben, der etwa alle 30 Sekunden ausgeführt wird, indem der Zeitfeldparameter der Crontab verwendet wird. Wir können dies jedoch immer noch mit den folgenden Einträgen tun.
* * * * * /scripts/script.sh * * * * * sleep 30; /scripts/script.sh
Dafür sind eigentlich zwei verschiedene Einträge nötig. Der erste crontab-Eintrag weist cron an, das Skript jede Minute auszuführen. Und der zweite Eintrag lässt Cron nach einer Pause von 30 Sekunden den nächsten ausführen.
28. Planen Sie mehrere Jobs in einem einzigen Crontab-Eintrag
Crontab ermöglicht es Administratoren, mehr als einen Job in einem einzigen Eintrag anzugeben. Sie müssen die Aufgaben lediglich mit dem Trennzeichen Semikolon (;) trennen. Der folgende crontab-Linux-Befehl ruft jeden Tag um 8 Uhr morgens zwei Skripte auf.
0 8 * * * /scripts/script.sh; /scripts/scrit2.sh
29. Planen Sie jährliche Cron-Jobs
Crontab ermöglicht es Benutzern, jährliche Cron-Jobs zu planen. Es führt diese Jobs in der ersten Minute eines jeden Jahres aus. Diese Befehle können nützlich sein, um systemweite Änderungen vorzunehmen oder Neujahrsgrüße zu senden.
@yearly /scripts/script.sh
Der obige Befehl entspricht den folgenden Befehlen.
0 0 1 1 * /scripts/script.sh @annually /scripts/script.sh
30. Planen Sie monatliche Cron-Jobs
Es ist auch möglich, monatliche und wöchentliche Cronjobs mit Kurzformen anzugeben. Die Syntax eines monatlichen Cron-Jobs, der das Skript system-upgrade.sh ausführt wird unten gezeigt.
@monthly /scripts/system-upgrade.sh
Der obige Befehl entspricht dem nächsten Befehl.
0 0 1 * * /scripts/system-upgrade.sh
31. Planen Sie wöchentliche Cron-Jobs
Möglicherweise möchten Sie Ihr System jede Woche von unbenutzten Paketen bereinigen. Crontab ermöglicht es Benutzern, wöchentliche Jobs einfach mit @weekly anzugeben Kennung. Die Syntax ist unten gezeigt.
@weekly /scripts/system-cleanup.sh
Dieser Befehl ruft das Skript system-cleanup.sh auf in der ersten Minute der Woche. Die Notation hat eine ähnliche Bedeutung wie der folgende Befehl.
0 0 1 * mon /scripts/system-cleanup.sh
32. Planen Sie tägliche Cron-Jobs
Cron erlaubt Benutzern auch die Verwendung der Kurzform @daily zum Angeben täglicher Cron-Jobs. Sie sind nützlich für die tägliche Wartung Ihres Systems. Verwenden Sie sie wie unten gezeigt.
@daily /scripts/script.sh
Dieses Skript wird jeden Tag in der ersten Minute ausgeführt. Der Befehl verhält sich ähnlich wie der nächste Befehl.
0 0 * * * /scripts/script.sh
33. Planen Sie stündliche Cron-Jobs
Stündliche Cron-Jobs sind nützlich für viele Aufgaben wie das Sperren unerwünschter IPs, das Bereinigen fehlgeschlagener Anmeldeversuche und dergleichen. Die @hourly Bezeichner kann verwendet werden, um Cron-Jobs anzugeben, die jede Stunde ausgeführt werden müssen. Diese Crontab-Einträge haben die folgende Form.
@hourly /scripts/script.sh
Sie ähneln dem folgenden Befehl.
0 0 * * * /scripts/script.sh
34. Planen Sie einen Cron-Job beim Systemneustart
Mit dem Befehl crontab können Administratoren Cron-Jobs angeben, die beim Systemneustart ausgeführt werden müssen. Diese Jobs können vom Ändern von Pfadvariablen bis zum automatischen Laden benutzerdefinierter Konfigurationsdateien reichen. Sie können schnell mit @reboot durchgeführt werden Kennung.
@reboot /scripts/script.sh
Dieser Crontab-Eintrag ruft die script.sh auf Bash-Skript nach jedem Systemneustart.
35. Cron-Ergebnisse an angegebenes E-Mail-Konto senden
Standardmäßig sendet Cron die Berichte geplanter Cron-Jobs an die E-Mail des Benutzers, der den Job geplant hat. Sie können dies umleiten, indem Sie den Wert der Mail-Variablen ändern, wie im nächsten Beispiel gezeigt.
# crontab -l [email protected] 0 2 * * * /script/backup.sh
Nach dem Cronjob backup.sh ausgeführt wird, sendet cron die Berichte an die Mailadresse [email protected] .
Crontab-Befehle als Root ausführen
Unter Linux erfordern viele Aufgaben zusätzliche Berechtigungen wie sudo. Um jedoch sudo-Befehle von der Crontab eines Standardbenutzers auszuführen, müssen Benutzer ihr Passwort irgendwo in ihrem System in einer Klartextdatei speichern. Es ist keine gute Praxis, und solche Befehle sollten stattdessen von der crontab des Root-Benutzers geplant werden. Die Crontab des Root-Benutzers besteht aus einem weiteren Eintrag zwischen dem Zeitfeld und dem Befehlsabschnitt. Es wird verwendet, um den Benutzer anzugeben, für den die Jobs ausgeführt werden sollen.
36. Löschen Sie jeden Tag um 1:00 Uhr alle Faillog-Versuche
0 1 * * * root echo " " > /var/log/faillog
Der obige Befehl löscht jeden fehlgeschlagenen Anmeldeversuch bei Ihrem System jeden Tag um 1 Uhr morgens. Sie können die Werte einfach ändern, um diesen Befehl zu einer bestimmten Zeit statt um 1 Uhr morgens auszuführen.
Dasselbe kann mit dem folgenden Befehl erfolgen. Hier verwenden wir dd anstelle des echo-Befehls, um die Protokolldaten zu löschen.
0 1 * * * root dd if=/dev/null > faillog
37. Alle Systemprotokolle alle 10 Tage um 2:00 Uhr speichern
Die Systemprotokolldatei bietet nützliche Einblicke in unsere Linux-Maschine und ist für viele Systemadministratoren von entscheidender Bedeutung. Fügen Sie den folgenden crontab-Befehl in Ihre crontab ein, um alle Systemprotokolle alle zehn Tage um 2 Uhr morgens zu speichern.
0 2 */10 * * echo " "> /var/log/syslog
Dasselbe kann mit dem dd-Befehl im crontab-Eintrag erreicht werden.
0 2 */10 * * dd if=/dev/null > /var/log/syslog
38. Suchen Sie nach neuen Systempaketen und laden Sie sie herunter
Der folgende crontab-Befehlseintrag sucht an jedem ersten Tag des Monats um 00:00 Uhr nach neuen Systempaketen.
0 12 1 * * root apt-get update
Dieser Befehl ist praktisch, um Ihre Systempakete monatlich zu aktualisieren.
39. Planen Sie System-Upgrades als Cron-Jobs
Sie können cron so planen, dass Ihr System automatisch aktualisiert wird. Der Crontab-Eintrag für diesen Prozess ist unten dargestellt.
0 12 1 * * root apt-get -y upgrade
Das -y-Flag ist notwendig; Andernfalls bleibt der Prozess hängen und wartet auf Ihre manuelle Zustimmung.
40. Aktualisieren Sie die Paketliste und aktualisieren Sie das System
Sie können die beiden obigen Befehle kombinieren, um Ihre Pakete zu aktualisieren und auf neuere Versionen zu aktualisieren, indem Sie den unten erwähnten crontab-Eintrag verwenden.
0 12 1 * * root apt-get update && apt-get -y upgrade
Der obige crontab-Linux-Befehl aktualisiert Ihre Paketliste und führt ein Upgrade auf neuere Pakete durch, falls verfügbar, um 12:00 Uhr am ersten Tag jedes Monats.
41. Planen Sie einen Cron-Job zum Entfernen unnötiger Abhängigkeiten
Linux-Systeme horten oft viele Abhängigkeiten, die das System nicht mehr benötigt. Das manuelle Löschen dieser Abhängigkeiten kann für viele Systemadministratoren zu einer umständlichen Aufgabe werden. Sie können Cron verwenden, um diesen Prozess für Sie zu automatisieren. Der nächste crontab-Eintrag erkennt und entfernt automatisch alle Abhängigkeiten, die von Ihrem System nicht mehr benötigt werden.
0 1 1 * * root apt-get -y autoremove
Der obige Befehl löscht alle ungenutzten Abhängigkeiten um 1 Uhr morgens am ersten Tag jedes Monats. Das -y Flag ist obligatorisch, sonst bleibt der Prozess hängen und wartet auf die Benutzerbestätigung.
42. Planen Sie einen Cron-Job zum Löschen des lokalen Repositorys
Sie können cron verwenden, um automatisch das lokale Repository von abgerufenen Paketdateien zu leeren. Dazu müssen Sie lediglich den nächsten Eintrag in Ihrer systemweiten Crontab hinzufügen.
0 2 1 * * root apt-get clean
Der obige Eintrag plant eine Lagerreinigung für Ihre Pakete um 2 Uhr morgens am ersten Tag jedes Monats.
43. Planen Sie einen Cron-Job zum Bereinigen von Caches
Caches werden verwendet, um einen schnellen Zugriff auf Dienste bereitzustellen. Sie können jedoch mit der Zeit enorm werden und erfordern, dass Administratoren sie regelmäßig löschen. Der folgende crontab-Eintrag zeigt, wie man einen Cron-Job plant, um die Caches PageCache, Dentries und Inodes zu säubern.
0 3 1 * * root sync; echo 3 > /proc/sys/vm/drop_caches
Der obige Eintrag löscht alle Daten in PageCache, Dentries und Inodes um 3 Uhr morgens am ersten Tag eines jeden Monats. Wir schlagen jedoch vor, dass Sie dies nicht in Ihre Crontab einfügen, es sei denn, Sie wissen genau, was dies mit Ihrem System macht.
Verschiedene Crontab-Befehle
Da Linux-Crontab-Befehle sehr unterschiedlich sein können, werden wir einige wesentliche Befehle auflisten, die einen erheblichen Einfluss auf die Systemverwaltung haben. Sie können oft zu einer effektiven Automatisierung Ihres Systems führen und wiederum Ihre Produktivität als Systemadministrator auf ein ganz neues Niveau steigern.
44. Benutzerdefiniertes Crontab für Ihren Benutzer installieren
Abgesehen von der Standard-Crontab können Benutzer ihre benutzerdefinierte Crontab-Datei installieren. Wie dies geschehen kann, wird unten gezeigt.
$ crontab -a filename
Dieser Befehl installiert das Dokument „Dateiname“ als Ihre Crontab. In vielen Systemen ist das -a Flag ist nicht erforderlich.
45. Sichern Sie alle Cron-Jobs in einer Nur-Text-Datei
Häufig möchten Systemadministratoren eine Sicherungskopie ihrer crontab-Einträge zur späteren Bezugnahme speichern. Dies kann auf mehrere Arten erfolgen. Der folgende Befehl zeigt, wie Sie ein Backup aller Cron-Jobs in einer Klartextdatei namens cron-backup.txt aufbewahren .
$ crontab -l > cron-backup.txt
Dieser Befehl speichert die Crontab-Einträge nur für den aktuellen Benutzer. Sie müssen root sein, um alle systemweiten Cron-Jobs zu speichern.
46. Cronjobs aus Sicherungsdatei wiederherstellen
Falls Sie die aktuelle Crontab gelöscht haben, können Sie sie mit der Sicherungsdatei wiederherstellen, die Sie mit dem obigen Befehl erstellt haben. Die Syntax dieses Befehls ist unten dargestellt.
$ crontab cron-backup.txt
Sie sollten beachten, dass dieser Befehl lediglich die cron-backup.txt installiert Datei als Ihre neue crontab.
47. Ändern Sie die E-Mail-Adresse für Cron-Berichte
Sie können die E-Mail-Adresse ändern, an die cron unsere jobspezifischen Berichte sendet, indem Sie MAILTO hinzufügen Variable in Ihrer Crontab. Dies wird unten demonstriert.
#crontab -e [email protected] #add the above line inside your crontab
Nach dem Hinzufügen dieser Zeile sendet cron jetzt Berichte über geplante Jobs an [email protected] .
48. Ändern Sie den Wert der Pfadvariablen
Sie können den Wert der Pfadvariablen direkt in Ihrer Crontab mithilfe von PATH ändern oder hinzufügen Variable. Dies wird unten gezeigt.
#crontab -e PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin #add the above line inside your crontab
Jetzt behandelt cron die oben genannten Verzeichnisse als Ihren Pfad.
49. Siehe Crontab-Handbuch
$ man crontab
Der obige Befehl druckt die Handbuchseite für den crontab-Befehl. Wenn Sie crontab im Detail lernen möchten oder nach einer schnellen Lösung für ein Problem suchen, sollten Sie unbedingt die Manpage lesen.
50. Siehe Cron-Handbuch
Die cron-Manpage bietet cron-spezifische Informationen. Es ist ein praktisches Tool für Benutzer, die Cron effektiv beherrschen möchten. Sie können die Manpage von cron konsultieren, indem Sie einfach den folgenden Befehl verwenden.
$ man cron
Abschlussgedanken
Crontab Linux bietet ein flexibles Mittel zur Automatisierung vieler alltäglicher Systemadministrationsaufgaben und ermöglicht es Administratoren, ihr System viel bequemer zu verwalten. Die Leute denken oft, dass der crontab-Befehl aufgrund einer Fülle möglicher Befehle außerhalb ihres Bereichs liegt. Sie sind jedoch ziemlich einfach, sobald Sie eine Handvoll einfacher Befehle verstanden haben. Unsere Redakteure haben versucht, einige der am häufigsten verwendeten crontab-Befehle zu skizzieren, die die Linux-Administration für neue Benutzer unterhaltsam machen und dabei helfen, Erfahrungen mit crontab zu sammeln.