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 ausgelöst. 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.

    Bemerkung

    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.

    Bemerkung

    Das Skript benötigt die Berechtigung zum Ausführen. Gewähren Sie diese Berechtigung, indem Sie den folgenden Befehl ausführen: chmod 755 <script.sh>

  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:

image-78436.png

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 # information on the event date and time
    /usr/bin/id >> /tmp/event_handler.log # information on the user, on behalf of which the script was executed (to ensure control)
    echo "customer created" >> /tmp/event_handler.log # information on the created customer account
    echo "name: ${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # customer's name
    echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # customer's username in Plesk
    echo "--------------" >> /tmp/event_handler.log
    
  • (Plesk für Windows) test-handler.bat

    echo "--------------" >> c:\windows\temp\event_handler.log
    rem information on the event date and time
    date /T   >> c:\windows\temp\event_handler.log
    rem information on the created customer account
    echo "customer created" >> c:\windows\temp\event_handler.log
    rem customer's name
    echo "name: %1"       >> c:\windows\temp\event_handler.log
    rem customer's username 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: John Doe
    login: john_doe
    
  • (Plesk für Windows)

    Mon March 15 21:46:34 NOVT 2010
    customer created
    name: John Doe
    login: john_doe
    

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.