Zahlungsmethoden Abuse

Cron in Linux: Was ist das?

26.02.2023, 13:13

Cron ist ein Dienstprogramm zum Planen von Aufgaben im Linux-Betriebssystem. Es ermöglicht Ihnen, Skripte oder Befehle automatisch zu bestimmten Zeiten, Intervallen oder Ereignissen auszuführen.

Wie wird es verwendet?

Um Cron zu verwenden, müssen Sie eine crontab-Datei erstellen, die eine Liste von Aufgaben und Zeitintervallen enthält, in denen sie ausgeführt werden sollen. Jede Aufgabe in crontab ist eine Zeichenkette, die aus fünf durch Leerzeichen getrennten Feldern besteht:

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

Der * steht für einen beliebigen Wert, z. B. wenn das Feld minutes einen * enthält, wird die Aufgabe jede Minute ausgeführt. Wenn Sie einen bestimmten Wert für ein Feld festlegen wollen, z. B. jeden Tag um 3 Uhr morgens, sollten Sie 0 3 * * * * schreiben.

Um eine crontab-Datei zu erstellen oder zu ändern, verwenden Sie den Befehl crontab -e. Jeder Benutzer kann seine eigene crontab-Datei haben, ebenso wie die Systemdatei /etc/crontab, die Aufgaben enthält, die unter dem Benutzer root ausgeführt werden.

Es gibt einen Befehl cronjob, mit dem Sie Aufgaben innerhalb von Docker-Containern ausführen können. Er funktioniert ähnlich wie crontab, aber die Aufgaben können innerhalb des Containers und nicht auf dem Hostsystem ausgeführt werden.

Verwendung von Cron: ein Schritt-für-Schritt-Algorithmus

Gehen Sie folgendermaßen vor, um Cron unter Linux zu verwenden:

1. öffnen Sie ein Terminal und geben Sie den Befehl crontab -e ein. Dadurch wird die crontab-Datei für den aktuellen Benutzer geöffnet.

2. Fügen Sie der crontab-Datei eine Aufgabe gemäß dem oben beschriebenen Feldformat hinzu. Wenn Sie beispielsweise das Skript every_hour.sh jede Stunde ausführen möchten, fügen Sie die Zeile 0 * * * * * * /path/to/every_hour.sh ein.

3. Speichern Sie Ihre Änderungen und schließen Sie die Datei.

4. Überprüfen Sie mit dem Befehl crontab -l, ob die Aufgabe zu crontab hinzugefügt wurde. Es wird eine Liste aller Aufgaben angezeigt, die zu crontab hinzugefügt wurden.

5. Überprüfen Sie, ob die Aufgabe wie geplant ausgeführt wird, indem Sie den Befehl tail -f /var/log/syslog verwenden. Sie sehen dann die Ausgabe zur Ausführung der Aufgabe.

6. Wenn Sie eine Aufgabe aus der crontab entfernen möchten, verwenden Sie den Befehl crontab -r.

Es gibt einige wichtige Punkte, die zu beachten sind:

  • Sie können sowohl Skripte als auch Befehle zu crontab hinzufügen. Wenn Sie jedoch ein Skript ausführen wollen, müssen Sie sicherstellen, dass es über Ausführungsrechte verfügt(chmod +x /pfad/zu/skript.sh).
  • Wenn Sie möchten, dass die Aufgabe mit Root-Benutzerrechten ausgeführt wird, verwenden Sie den Befehl sudo crontab -e, um die crontab-Datei für den Root-Benutzer zu öffnen.
  • Vergewissern Sie sich, dass sich die Befehle und Skripte, die Sie ausführen, am richtigen Ort befinden und über die richtigen Lese- und Ausführungsrechte verfügen.

Beachten Sie, dass die in crontab angegebene Zeit mit der Zeit auf dem Server übereinstimmt, auf dem Cron läuft. Wenn Sie einen entfernten Server verwenden, vergewissern Sie sich, dass die Zeit auf dem Server richtig konfiguriert ist.