Ereignis-Handler

Bestimmte Aktionen in Plesk wie:

  • Kundenkonto erstellen
  • IP-Adresse entfernen
  • Hosting-Einstellungen einer Domain aktualisieren usw.

werden in Plesk als Ereignisse definiert. Für jedes Ereignis können Sie einen oder mehrere Ereignis-Handler erstellen, über die bei jedem Ereignis ein vorkonfigurierter Befehl ausgeführt wird.

Event-Handler sind hilfreich, wenn Sie eine bestimmte Aktion oder eine Reihe von Aktionen ausführen möchten, sobald ein gewisses Ereignis stattfindet. Sie können zum Beispiel einen Ereignis-Handler erstellen, der ausgelöst wird, wenn ein Abonnement erstellt wird. Als Aktionen können Sie festlegen, dass ein Postfach erstellt werden oder eine Anfrage an einen externen Dienst gesendet werden soll usw.

 

Hinzufügen von Ereignis-Handlern

  1. Gehen Sie zu Tools & Einstellungen > Ereignis-Manager.
  2. Klicken Sie auf Ereignis-Handler hinzufügen.
  3. Wählen Sie das Ereignis in der Liste "Ereignis" aus, durch das der Handler ausgelöst wird.
  4. Legen Sie unter "Priorität" fest, mit welcher Priorität der Handler ausgeführt werden soll. Wählen Sie dazu eine Option in der Liste aus oder geben Sie eine Nummer in das Feld ein. Prioritäten sind hilfreich, wenn Sie einem Ereignis mehrere Handler zuweisen. In diesem Fall werden Handler nach der festgelegten Priorität in absteigender Reihenfolge ausgeführt. Das heißt, das Ereignis mit der höchsten Priorität hat Vorrang vor dem Ereignis mit der nächsthohen Priorität usw.
  5. Wählen Sie in der Liste "Benutzer" den Systembenutzer aus, in dessen Namen der Handler ausgeführt werden soll.

    Hinweis (Plesk für Linux): Die Ereignis-Handler, die auf dem Server ausgeführt werden, können statt vom Root-Benutzer auch vom Serveradministrator erstellt werden. Wenn Sie die Nutzung des Root-Kontos einschränken möchten, erstellen Sie eine leere Datei mit dem Namen root.event_handler.lock unter /usr/local/psa/var/.

  6. Geben Sie im Feld "Befehl" den Pfad zum Shellskript oder eine BAT-Datei mit Befehlen an, die ausgeführt werden, wenn der Ereignis-Handler ausgelöst wird, zum Beispiel /usr/local/psa/bin/script.sh oder C:\Windows\Temp\script.bat.
  7. Klicken Sie auf OK.
 

Übergeben von Ereignisparametern

Wenn ein Ereignis-Handler ausgelöst wird, werden bestimmte mit dem Ereignis verknüpfte Daten ("Ereignisparameter") gesendet. Welche Daten übertragen werden, hängt vom Ereignis-Handler ab. Beim Ereignis "Domain erstellt" werden die folgenden Parameter vom Ereignis-Handler übertragen:

  • Der Name der neu erstellten Domain
  • Die GUID der neu erstellten Domain
  • Die GUID des Kundenkontos, zu dem die neu erstellte Domain gehört

Jeder Parameter wird als Umgebungsvariable übertragen, die Sie wie hier beschrieben im Shellskript oder in der BAT-Datei verwenden können:

Plesk für Linux

Verwenden Sie den Platzhalter ${ENVIRONMENT_VARIABLE_NAME} (z. B. ${NEW_DOMAIN_NAME}) im Shellskript. Wenn der Ereignis-Handler ausgelöst wird, wird der Platzhalter durch den Wert ersetzt, der dem Ereignis entspricht.

Plesk für Windows

Verwenden Sie den Platzhalter %N (z. B %1) in Ihrer BAT-Datei und hängen Sie den Namen der gewünschten Umgebungsvariable in der entsprechenden Position am Ende des Befehls in den Einstellungen des Ereignis-Handlers an. Zum Beispiel:

2

Der Platzhalter %1 wird hier durch den Wert der Umgebungsvariable NEW_DOMAIN_NAME ersetzt. %2 wird durch den Wert von NEW_DOMAIN_GUID ersetzt. Wenn Sie %3 in der BAT-Datei verwenden, wird der Platzhalter nicht ersetzt, da nur zwei Umgebungsvariablen nach dem Befehl angegeben wurden.

Hier finden Sie eine vollständige Liste der Ereignisparameter und entsprechenden Namen der Umgebungsvariablen für jeden Ereignis-Handler.

Zur Referenz finden Sie hier zwei Skriptbeispiele für das Ereignis "Kundenkonto erstellt":

  • (Plesk für Linux) test-handler.sh

    #!/bin/bash

    echo "--------------" >> /tmp/event_handler.log

    /bin/date >> /tmp/event_handler.log # Datum und Uhrzeit des Ereignisses

    /usr/bin/id >> /tmp/event_handler.log # Benutzer, für den das Skript ausgeführt wurde (zu Kontrollzwecken)

    echo "customer created" >> /tmp/event_handler.log # Informationen zum erstellten Kundenkonto

    echo "name: ${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # Kundenname

    echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # Benutzername des Kunden in Plesk

    echo "--------------" >> /tmp/event_handler.log

  • (Plesk für Windows) test-handler.bat

    echo "--------------" >> c:\windows\temp\event_handler.log

    rem Informationen zu Datum und Uhrzeit des Ereignisses

    date /T >> c:\windows\temp\event_handler.log

    rem Informationen zum erstellten Kundenkonto

    echo "customer created" >> c:\windows\temp\event_handler.log

    rem Name des Kunden

    echo "name: %1" >> c:\windows\temp\event_handler.log

    rem Benutzername des Kunden in Plesk

    echo "login: %2" >> c:\windows\temp\event_handler.log

    echo "--------------" >> c:\windows\temp\event_handler.log

Wenn Sie sich in Plesk anmelden und ein Kundenkonto mit dem Namen "Max Muster" und dem Anmeldenamen "max_muster" erstellen, wird der Ereignis-Handler ausgelöst und die folgenden Einträge werden zur Datei "event_handler.log" hinzugefügt:

  • (Plesk für Linux)

    Fri Mar 16 15:57:25 NOVT 2007

    uid=0(root) gid=0(root) groups=0(root)

    customer created

    name: Max Muster

    login: max_muster

  • (Plesk für Windows)

    Mon März 15 21:46:34 NOVT 2010

    customer created

    name: Max Muster

    login: max_muster

 

Bearbeiten und Entfernen von Ereignis-Handlern

Um eine Liste der aktiven Ereignis-Handler aufzurufen, gehen Sie zu Tools & Einstellungen > Ereignis-Manager. Hier können Sie Ereignis-Handler auch bearbeiten und entfernen:

  • Um einen Ereignis-Handler zu bearbeiten, klicken Sie auf den Namen, nehmen Sie die gewünschten Änderungen vor und klicken Sie auf OK.
  • Um einen Ereignis-Handler zu entfernen, wählen Sie das zugehörige Kontrollkästchen aus und klicken Sie auf Entfernen.
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.