Eventhandler

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

~/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.