Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke

17.04.2017: Ein Cronjob

Alles was man automatisieren möchte braucht jemanden der sich auch darum kümmert. Das macht der "Crontab" oder auch Cronjob genannt.

Hier kann man in einer Liste angeben was wann und wie oft ausgeführt werden soll, und dieses Liste wird auch Stur abgearbeitet. Sollte dort ein Fehler drin sein, wird dieser Cronjob dort gestoppt, also SEHR GUT aufpassen was ihr da hinein schreibt.

Es gibt die normanen Cronjobs, die nur von den jeweiligen Users ausgeführt werden, und dann noch die System Cronjobs, die mit Admin Rechten ausgeführt werden - ich verwende hier ausschließlich die System Cronjobs - ist einfacher.

Eingerichtet wird er wie folgt von der Shell:

sudo crontab -e

Speichern mittels ctrl-x dann und enter

Die wichtigsten Befehle sind:

@reboot Startet beim Booten ein Script oder Programm
* * * * *

Diese 5 * sind Platzhalter für Minute, Stunde, Tag, Monat, und Wochentag. Damit kann man "auf die Minute genau" ein Programm oder Script starten.

z.b. "* 10 * * *" bedeutet Jeden Tag, Jeden Monat zu jeder Minute um 10 Uhr, also 10:00 Uhr bis 10:59 Uhr.

Hier gibt es eine Einrichtungshilfe: http://www.openjs.com/scripts/jslibrary/demos/crontab.php

Hier einige Beispielzeilen wie solch ein Cronjob/Crontab aussieht, eigentlich ist es Selbsterklärend:

#Beim Starten des Raspberry Pis wird ein Bash Script im Hintergrund gestartet
@reboot bash /var/www/Tastenabfrage.sh &
 
#Alle 10 Minuten wird ein Bash Script gestartet evtl Fehler und Ausgaben werden gelöscht.
*/10 * * * * /bin/bash /var/www/auslesen.sh >/dev/null 2>&1
 
#Um 00:05 Uhr an jedem Donnerstag wird das Bash Script rboot.sh aufgerunfen, Ausgaben werden gelöscht.
5 0 * * 4 /bin/bash /var/www/rboot.sh >/dev/null 2>&1
 
#Alle 15 Minuten wird mit Curl eine Webseite aufgerufen die mit HTACCESS geschützt ist
*/15 * * * * /usr/bin/curl Usernamel:Passwort@192.168.0.2/Webseite.php >/dev/null 2>&1
 
#jede Minute eine Webseite aufrufen - Alle Ausgaben Löschen
* * * * * /usr/bin/curl 192.168.0.2/Webseite.php >/dev/null 2>&1
 
#Beim Rebooten eine Webseite aufrufen - Alle Ausgaben Löschen
@reboot /usr/bin/curl 192.168.0.2/Webseite.php >/dev/null 2>&1

Das ">/dev/null 2>&1" bedeutet nur das alle Bildschirm Ausgaben die sonst erzeugt werden würden "gelöscht" werden. Solltet ihr das vergessen werden euch die Meldungen per email zugestellt! (Wenn ihr den Email Versand aktiviert habt). Natürlich kann man auch ein PHP Script direkt parsen lassen, aber mit "Curl" und der Aufruf des PHP Scriptes klappt es meist "besser" und zuverlässiger - so zumindest meine Erfahrungen.

Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke