Möchten Sie einen Befehl oder ein Skript täglich, wöchentlich, monatlich oder nach einem anderen vorgegebenen Zeitplan ausführen? In Ubuntu geht das ganz einfach per Cron-Job.
Cron ist ein zeitbasierter Jobplaner, um Befehle oder Skripte regelmäßig zu festen Zeiten, Daten oder Intervallen auszuführen. Es wird normalerweise für die Systemwartung oder -verwaltung verwendet, kann aber auch für allgemeine Zwecke nützlich sein, z. B. das regelmäßige Herunterladen von Dateien aus dem Internet.
1. Crontab-Dateien bearbeiten:
Benutzer können einen Cron-Job einfach einrichten, indem sie die Crontab-Datei mit dem Crontab-Befehl konfigurieren. Es ist in Ubuntu-basierten Systemen vorinstalliert. Und jeder Benutzer hat seine eigene crontab-Konfigurationsdatei.
b.) Aufgabe für aktuellen Benutzer planen:
Um den Befehl oder das Skript des aktuellen Benutzers auszuführen, öffnen Sie einfach das Terminal vom Startprogramm der System-App und führen Sie den Befehl aus:
crontab -e
Zum ersten Mal werden Sie aufgefordert, einen Editor auszuwählen, um die Konfigurationsdatei zu bearbeiten. Wählen Sie einen, den Sie bevorzugen, oder drücken Sie die Eingabetaste, um den standardmäßigen Nano-Texteditor zu verwenden.
b.) Wenn Sie Root- oder Sudo-Privilegien benötigen:
Für Befehle oder Skripte, die sudo- oder root-Benutzerrechte benötigen, können Sie stattdessen den folgenden Befehl ausführen:
sudo crontab -e
Es wird die Konfigurationsdatei für den Root-Benutzer erstellen (falls nicht beendet) oder öffnen.
c.) Geben Sie einen Benutzer an, der die Zeitplanaufgabe ausführen soll:
Sie können -u <user_name>
hinzufügen Flag, um den Benutzer anzugeben, zum Beispiel ji.
sudo crontab -u ji -e
Der Benutzer kann root sein, also wird dasselbe mit sudo crontab -e
gemacht :
sudo crontab -u root -e
2. Zeitintervall, Befehl oder Skript so einstellen, dass sie regelmäßig ausgeführt werden:
Nach dem Ausführen eines Befehls in Schritt 1 wird die Konfigurationsdatei im Terminalfenster (oder der Befehlskonsole) geöffnet.
Scrollen Sie nun nach unten und fügen Sie eine neue Zeile hinzu:
* * * * * <command or script>
Die ersten 5 Sternchen „*“ geben Uhrzeit und Datum an, ändern Sie diese entsprechend.
Beispiele:
a.) Um zum Beispiel jeden Sonntag um Mitternacht (00:00) ein python3-Skript unter meinem Dokumentenordner auszuführen, verwenden Sie:
0 0 * * 0 python3 /home/ji/Documents/script.py
Hier:
- die erste 0 gibt die Minute an, verwenden Sie * für jede Minute.
- die zweite 0 gibt die Stunde an, verwenden Sie * für jede Stunde.
- das dritte Flag * gibt den Tag des Monats an, jeden Tag, wenn kein Wochentag angegeben ist.
- die vierte Flagge * sagt jeden Monat.
- das fünfte Flag (dritte 0) gibt den Wochentag an. Von 0 bis 6 bedeutet Sonntag bis Samstag.
b.) Führen Sie echo "hello world!"
aus jeden Tag um 16:30 Uhr befehlen, fügen Sie diese Zeile hinzu:
30 16 * * * echo "hello world!"
c.) Sie können */n
verwenden für jedes n-te Zeitintervall ausgeführt werden. Und verwenden Sie mehrere spezifische Zeitintervalle mit Kommas.
Führen Sie den Befehl beispielsweise jeden Freitag in der ersten, zweiten und dritten Stunde jede fünfte Minute aus (01:00, 01:05, 01:10, …, 02:00, 02:05, 02:10, …, 03:55).
*/5 1,2,3 * * 5 echo "hello world!"
Speichern Sie abschließend die Konfigurationsdatei. Wenn Sie es über Nano bearbeiten, drücken Sie Strg+X auf der Tastatur, geben Sie y ein und drücken Sie die Eingabetaste, um es zu speichern.
Originalartikel