Eventhandler: Unterschied zwischen den Versionen
Zeile 28: | Zeile 28: | ||
{{Textkasten|gelb||Achtung: Dieses Event dient nur als Beispiel und ist (bislang) nicht implementiert.}} | {{Textkasten|gelb||Achtung: Dieses Event dient nur als Beispiel und ist (bislang) nicht implementiert.}} | ||
{| | == Die folgenden Ereignisse gibt es derzeit: == | ||
{|class="wikitable" | |||
|- | |- | ||
!Name!!Parameter!!Beschreibung | !Name!!Parameter!!Beschreibung |
Version vom 20. März 2009, 00:35 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.
Die folgenden Ereignisse gibt es derzeit:
Name | Parameter | Beschreibung |
---|---|---|
@weblogsplit | Wird nach dem nächtlichen Split der Web-Logfiles ausgeführt | |
@ftplogsplit | Wird nach dem nächtlichen Split der FTP-Logfiles ausgeführt | |
@maillogsplit | Wird nach dem nächtlichen Split der Mail-Logfiles ausgeführt | |
@pacquotawarning | Wird täglich ausgeführt, wenn die Paketquota überschritten wurde | |
HS_QUOTA_BLOCK_USED | genutzter Speicherplatz | |
HS_QUOTA_BLOCK_SOFT | gebuchter Speicherplatz | |
HS_QUOTA_BLOCK_HARD | verfügbarer Speicherplatz für kurzzeitige Überziehung | |
HS_QUOTA_BLOCK_PERC | Nutzung in Prozent | |
HS_QUOTA_BLOCK_GRACE-LEFT | verbleibende Frist für kurzzeitige Überziehung | |
@pactrafficwarning | Wird ausgeführt, wenn der Traffic am Vortag auf den Monat hochgerechnet zu einer Überschreitung des
Inklusivtraffics führen würde | |
HS_TRAFFIC_INCLUSIVE_MONTHLY | gebuchter Traffic pro Monat | |
HS_TRAFFIC_INCLUSIVE_DAILY | gebuchter Traffic pro Tag (rechnerisch zur Orientierung) | |
HS_TRAFFIC_YESTERDAY_TOTAL | gesamter Traffic am Vortag | |
HS_TRAFFIC_YESTERDAY_HTTP | HTTP-Traffic am Vortag | |
HS_TRAFFIC_YESTERDAY_FTP | FTP-Traffic am Vortag | |
HS_TRAFFIC_YESTERDAY_MAIL | Mail-Traffic am Vortag | |
HS_TRAFFIC_THISMONTH_DAYS | Tage im Monat bisher | |
HS_TRAFFIC_THISMONTH_TOTAL | Traffic im Monat bisher | |
HS_TRAFFIC_THISMONTH_ESTIMATED | hochgerechneter Traffic im Monat | |
@paclock | Sperrung des Pakets | |
HS_REASON | ggf. Grund der Sperrung | |
@pacunlock | Entsperrung des Pakets | |
HS_REASON | ggf. Grund der Entsperrung |