|
Der Cron Daemon dient normalerweise dazu, Programme, Dienste und Systemkommandos
zeitlich automatisiert ablaufen zu lassen. Die Aufgaben, die CRON abarbeiten
soll, werden mit den zeitlichen Anforderungen in eine Textdatei mit Namen
crontab geschrieben.
Linux bietet von Hause aus keinen Dienst, der die Outputs eines Web-IO
schalten kann. Hier bringt das kostenlose Tool CURL Abhilfe. Download
und Installation erfolgen von der Webseite curl.haxx.se.
Durch Eingabe von
curl "10.40.22.101/outputaccess1?PW=Password&State=ON&" |
|
wird nach erfolgreicher Installation z.B. Ausgang 1 des Web-IO mit der
IP-Adresse 10.40.22.101 eingeschaltet.
Eine ausführliche Beschreibung der möglichen Web-IO Kommandos
ist in der Anleitung
zum Web-IO ab Seite 102 zu finden.
|
|
Die hier beschriebenen Funktionen können sich je nach eingesetzter
Linux-Distribution von Syntax und Aufbau geringfügig unterscheiden!
Ob der CRON-Daemon läuft, kann mit folgendem Kommando geprüft
werden:
Wenn CRON aktiv ist, antwortet Linux mit einer oder mehreren Zeilen,
beginnend mit dem User-Namen (z.B. root) und einigen weiteren Angaben.
Wie bereits angesprochen, ist das steuernde Elment bei CRON die Datei
crontab, die im Verzeichnis /etc zu finden ist. Hier wird festgelegt,
wann welche Aktion ausgeführt werden soll. Für jede Aktion gibt
es eine Zeile mit festgelegtem Aufbau.
#m h dom mon dow user command
0 8 * * 1-5 root curl "10.40.22.101/outputaccess1?PW=Password&State=ON&" |
|
|
|
: |
Minute - Minute
mögliche Werte: 0-59 |
|
|
: |
Hour - Stunde
mögliche Werte: 0-23 |
|
|
: |
Day of the month - Tag des Monats
mögliche Werte: 1-31 |
|
|
: |
Month - Monat
mögliche Werte: 1-12 |
|
|
|
Day of the Week - Wochentag
mögliche Werte: 0-6 (beginnend bei 0=Sonntag, 1= Montag,....) |
|
|
|
User - Benutzername
(hier empfielt es sich mit dem Benutzernamen root zu arbeiten |
|
|
: |
Command - Aktionsaufruf
für das Schalten mit Web-IO curl und der Schaltaufruf |
Anstelle eines Zeitparameters kann ein Stern * gesetzt werden. Das steht
für immer, also für alle erlaubten Werte
(zum Beispiel jede Minute).
Zahlenbereiche sind erlaubt. Bereiche sind zwei Zahlen, getrennt durch
einen Bindestrich. Die angegebenen Grenzen sind inklusive. Beispielsweise
bewirkt 8-17 als Stundenwert die Ausführung um 8, 9, 10, 11,12, 13,
14, 15, 16, 17 Uhr.
Listen sind möglich. Eine Liste ist eine Menge von Nummern oder
Bereichen, getrennt durch Kommata.
Beispiele: 1,2,5,9 oder 0-4,8-12.
Schrittweiten können in Verbindung mit Bereichen genutzt werden.
Hinter einem Bereich die "/<Schrittweite>" angegeben.
Beispiel: "0-23/2" kann unter Stunden benutzt werden, um ein
spezielles Kommando alle zwei Stunden auszuführen. Die Alternative
wäre: 0,2,4,6,8,10,12,14,16,18,20,22. Schrittweiten sind auch nach
Sternen * erlaubt, "alle zwei Stunden" lässt sich auch
durch "*/2" beschreiben.
Der oben gezeigte Eintrag schaltet um 8:00 Uhr morgens jeweils Montags
bis Freitags Output 1 ein.
Das CRON-Format wirkt zwar auf den ersten Blick etwas unhandlich, aber
es können ganz einfach sowohl sich wiederholende Aktionen, als auch
einmalige Schaltvorgänge konfiguriert werden.
Ein abschließendes Beispiel:
Die Hofbeleuchtung einer Firma soll abends ein und morgens wieder ausgeschaltet
werden. Dazu steuert Output 0 von Web-IO 10.40.22.101 ein Koppelrelais,
welches die Beleuchtung mit Strom versorgt. Die Steuerung soll, um Strom
zu sparen, die monatlichen Sonnenauf- und Untergangszeiten berücksichtigen.
Ausserdem soll Output 1 des Web-IO 10.40.22.104 Montags bis Freitags um
13:00 Uhr den Pausengong steuern (der Output wurde dazu auf 500ms Pulsbetrieb
konfiguriert, fällt also automatisch zurück in Ruhe).
|
#m h dom mon dow user command
#January 16:30 - 9:30
30 16 * 1 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 9 * 1 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#February 17:30 - 8:30
30 17 * 2 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 8 * 2 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#March 18:30 - 8:00
30 18 * 3* root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 8 * 3 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#April 20:00 - 7:30
0 20 * 4 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7 * 4 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#May 21:00 - 5:30
0 21 * 5 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 5 * 5 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#June 21:30 - 5:00
30 21 * 6 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 5 * 6 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#JJuly 21:30 - 6:00
30 21 * 7 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 6 * 7 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#August 18:30 - 7:30
30 18 * 8* root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7* 8 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#September 17:30 - 7:00
30 17 * 9 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 7 * 9 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#October 17:00 - 7:30
0 17 * 10 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7 * 10 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#November 16:30 - 8:30
30 16 * 11 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 8 * 11 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#December 16:00 - 9:00
0 16 * 12 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 9 * 12 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#Monday - Friday 13:00
0 13 * * 1-5 root curl "10.40.22.104/outputaccess1?PW=Password&State=ON&
|
|
Das Beispiel zeigt, dass auch komplexe Schaltaufgaben mit wenigen Konfigurationszeilen
erledigt werden können.
|