Bitte warten...

Cronjobs in Linux

Mit Cronjobs lassen sich Programme zu einem bestimmten Zeitpunkt einmalig oder regelmäßig ausführen, so dass man nicht persönlich anwesend sein muss, um das Programm zu starten. Allerdings muss der betreffende Rechner zu diesem Zeitpunkt im Betrieb sein.

Nehmen wir nun beispielsweise an, wir möchten regelmäßig Wetterdaten für einen bestimmten Ort abrufen und diese zur späteren Weiterverarbeitung in einer Datei speichern. Dazu können wir ein Bash-Skript erstellen, das anschließend per Cronjob ausgeführt wird.

Um die Wetterdaten abfragen zu können wird zunächst folgendes Paket benötigt:

sudo apt-get install weather-util

Installation per apturl Icon: Help

Folgendes Bash-Skript wird dann unter dem Namen wetter.sh gespeichert:

Code kopieren
#!/usr/bin/bash

# Schreibt die Wetterdaten für den Flughafen Berlin-Schönefeld in die Datei wetter.log
$(which date) >> wetter.log
$(which weather) sxf >> wetter.log

Mit dem Kommando crontab -e kann man dann den Zeitplan für das Ausführen dieses Skripts festlegen, wobei man zunächst einen Terminal-Editor auswählen muss, mit dem die Crontab (Cron-Tabelle) editiert werden soll.

Der Zeitplan besteht aus einer Textzeile, die man an das Ende der Crontab anfügt. Diese Zeile enthält sechs durch Leerzeichen getrennte Angaben:

• Minute
• Stunde
• Tag des Monats
• Monat (Januar = 1)
• Wochentag (Sonntag = 0 und 7)
• das auszuführende Kommando

Nicht festgelegte Angaben werden durch das *-Zeichen repräsentiert.

Beispiele:

Code kopieren
# am 15. August um 16:45 Uhr:
45 16 15 8 * /home/BENUTZER/wetter.sh

# jeden Montag um 10:30 Uhr:
30 10 * * 1 /home/BENUTZER/wetter.sh

# zu jeder vollen Stunde:
0 * * * * /home/BENUTZER/wetter.sh

# mittwochs im September alle 10 Minuten:
*/10 * * 9 3 /home/BENUTZER/wetter.sh

Wird diese Datei nun gespeichert, wird das Skript im angegebenen Pfad entsprechend dem Zeitplan in der Crontab ausgeführt.