Eventhandler: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: == ~/etc/event-handler == Diese Datei ermöglicht es bei bestimmten Ereignissen, wie zum Beispiel nach dem nächtlichen Verteilen der Apache-Logfiles oder der Aktivier...)
 
Zeile 15: Zeile 15:
@activate    echo 'xyz00 wurde aktiviert!' | mail email@example.net
@activate    echo 'xyz00 wurde aktiviert!' | mail email@example.net
</nowiki></pre>
</nowiki></pre>
Zuerst steht also der durch ein '''@''' eingeleitete Name des Ereignisses (s.u.), dann kommt - durch Leerzeichen und/oder Tabulatoren abgetrennt - das auszuführende Kommando. Kommentarzeilen werden am Zeilenanfang durch ein oder mehrere '''#''' gekennzeichnet.
Die Kommandos werden von einer [[bash]] (1) mit den Rechten des jeweiligen Users ausgeführt. Wenn bei einem Ereignis Parameter übergeben werden (s.u.), dann geschieht dies in Form von Enviroment-Variablen, die mit '''HS_''' beginnen, d.h. man könnte z.B. per
<pre><nowiki>
@domstatus echo "$HS_DOM hat nun den Status $HS_STATUS." >>logfile
</nowiki></pre>
die Statusänderungen aller seiner Domains in der Datei '''logfile''' in seinem Homeverzeichnis mitloggen.
{{Textkasten|gelb||Achtung: Dieses Event dient nur als Beispiel und ist (bislang) nicht implementiert.}}

Version vom 20. März 2009, 00:16 Uhr

~/etc/event-handler

Diese Datei ermöglicht es bei bestimmten Ereignissen, wie zum Beispiel nach dem nächtlichen Verteilen der Apache-Logfiles oder der Aktivierung des Pakets nach einem Umzug, automatisch eigene Programme, z. B. das Logfile-Auswertungsprogramm Analog oder einen eigenen Daemon starten zu lassen.

Der Aufruf der einzelnen Kommandos erfolgt mit einer an die Last angepassten Wartezeit, damit das System nicht mit zu vielen Jobs gleichzeitig belastet wird.

Die auszuführenden Kommandos werden in einem crontab-ähnlichen Format eingetragen. Beispiel:

# Nach dem Verteilen der Apache-Logfiles wird analog gestartet:
@weblogsplit  /usr/bin/analog +g~/doms/example.net/etc/analog.cfg

# Nach dem Aktivieren des Pakets bzw. einem Neustart des Servers 
# wird eine Informations-E-Mail geschickt:
@activate     echo 'xyz00 wurde aktiviert!' | mail email@example.net

Zuerst steht also der durch ein @ eingeleitete Name des Ereignisses (s.u.), dann kommt - durch Leerzeichen und/oder Tabulatoren abgetrennt - das auszuführende Kommando. Kommentarzeilen werden am Zeilenanfang durch ein oder mehrere # gekennzeichnet.

Die Kommandos werden von einer bash (1) mit den Rechten des jeweiligen Users ausgeführt. Wenn bei einem Ereignis Parameter übergeben werden (s.u.), dann geschieht dies in Form von Enviroment-Variablen, die mit HS_ beginnen, d.h. man könnte z.B. per

@domstatus echo "$HS_DOM hat nun den Status $HS_STATUS." >>logfile

die Statusänderungen aller seiner Domains in der Datei logfile in seinem Homeverzeichnis mitloggen.

Achtung: Dieses Event dient nur als Beispiel und ist (bislang) nicht implementiert.