Sonstiges - crontab, automatisierte Tasks in Linux

Hallo zusammen, heute gibts ein kurzes Tutorial zu crontab womit ihr ähnlich wie in Windows geplante Tasks erstellen könnt.

Was Braucht ihr?

  • Dieses Mal gibt es keine besonderen Vorraussetzungen, lediglich ein paar Shell-Skripte müsst ihr erstellen

Wie funktioniert es?

crontab

Crontab ist ein Dienst, der es euch ermöglicht ähnlich wie bei Windows geplante Tasks einzurichten. So können mit crontab Programme oder einzelne Befehle in bestimmten Zeitmustern ausgeführt werden. Einen solchen Eintrag nennt man Cronjob

Zunächst einmal die Parameter von crontab:

crontab -l

Listet euch alle Cronjobs auf,

crontab -e

öffnet einen Editor in der Shell mit dem ihr die Cronjobs bearbeiten könnt und

crontab -r

löscht alle crontab-Dateien.

Wie sieht nun ein Cronjob innerhalb eines crontab aus?

Ein Beispiel:

0 1 * * * /home/pi/scripts/meinscript.sh

Dieser Cronjob führt jeden Tag um 1 Uhr das Skript meinscript.sh aus. Die ersten 5 Spalten stehen also für die Zeitangabe des Cronjobs und die letzte für die auszuführende Anweisung. Dabei gilt folgende Aufteilung:

Minuten Stunden Tage Monate Wochentage /home/pi/scripts/meinscript.sh

Zu beachten dabei ist dass Minuten die Werte 0-59, Stunden die Werte 0-23 und Wochentage die Werte von 0-7 (0 = Sontnag) annehmen.

# wird jedes Jahr an Heiligabend ausgeführt * * 24 12 * /home/pi/scripts/meinscript.sh

# wird jeden Montag bis Mittwoch um 10 Uhr ausgeführt * 10 * * 1-3 /home/pi/scripts/meinscript.sh

Aliase

Für die Zeitangabe seid ihr jedoch nicht nur auf diese Spaltenangabe beschränkt, es gibt auch die Möglichkeit Aliase zu benutzen:

# wird nach dem booten ausgeführt @reboot /home/pi/scripts/meinscript.sh

# wird stündlich ausgeführt @hourly /home/pi/scripts/meinscript.sh

# wird täglich ausgeführt @daily /home/pi/scripts/meinscript.sh

# wird wöchentlich ausgeführt @weekly /home/pi/scripts/meinscript.sh

# wird monatlich ausgeführt @monthly /home/pi/scripts/meinscript.sh

# wird jährlich ausgeführt @yearly /home/pi/scripts/meinscript.sh

So viel zu crontab. Ich hoffe es war alles verständlich, probiert ein wenig damit rum, für einen Headless-Server ist es ein extrem praktisches und mächtiges Tool!

Beim nächsten mal Zeige ich euch dann, wie ihr das ganze nutzen könnt, um die Datenbank eures Anchor CMS zu sichern und automatisch den Cache-Speicher eures RPi freigeben könnt!

Bei Fragen oder Anregungen schreibt mir einfach eine E-Mail! Meine Adresse findet ihr in der Sektion Kontakt

Bis dahin!

Stefan


wallpaper-1019588
“MANHWA – Klassiker für Kids” erscheinen bei Ullmann Medien
wallpaper-1019588
Quality Assurance in Another World: Konkreter Starttermin bekannt + Interpreten der Theme-Songs
wallpaper-1019588
[Comic] Geschichten aus dem Hellboy Universum [13]
wallpaper-1019588
Ikoku Nikki: Anime-Adaption angekündigt + Teaser