Hinzufügen von Ereignis-Handlern (Linux)

Im folgenden Beispiel wird ein Ereignis-Handler für das Ereignis 'Erstellung eines Kundenkontos' eingerichtet. Der Handler wird einen Kundennamen und dessen Benutzernamen in Plesk aus Umgebungsvariablen annehmen. Der Einfachheit halber wird ein Shellskript namens test-handler.sh mit dem folgenden Inhalt verwendet:

#!/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

Das Skript schreibt eine Reihe von Informationen in eine Datei, sodass wir seine Ausführung kontrollieren können (eine Ausgabe der Informationen an stdout/stderr ist nicht möglich, da das Skript im Hintergrundmodus ausgeführt wird).

Hinweis: Es wird dringend empfohlen, für das Event-Handling Shellskriptdateien zu verwenden. Sie können auch direkte Systembefehle zuweisen, diese könnten jedoch möglicherweise nicht funktionieren. Ein Beispiel für nicht funktionierende Systembefehle sind Befehle, die die Ausgabeumleitungsoperatoren < oder > enthalten.

Angenommen, das Skript befindet sich im Verzeichnis /plesk_installationsverzeichnis/bin (Beispiel). So erstellen Sie mit dem Administrations-Panel einen entsprechenden Ereignis-Handler:

  1. Gehen Sie zu Tools & Einstellungen > Ereignis-Manager.
  2. Klicken Sie auf Ereignis-Handler hinzufügen.
  3. Wählen Sie im Menü Ereignis das Ereignis aus, dem Sie einen Handler zuweisen möchten.
  4. Wählen Sie die Priorität für die Ausführung des Handlers aus oder geben Sie einen eigenen Wert an. Wählen Sie zu diesem Zweck im Menü Priorität den Eintrag "benutzerdefiniert" und tragen Sie den gewünschten Wert ein.

    Wenn Sie einem Ereignis mehrere Handler zuweisen, können Sie mithilfe von Prioritäten die Reihenfolge festlegen, in der diese ausgeführt werden.

  5. Wählen Sie den Systembenutzer aus, für den der Handler ausgeführt wird (z.B. der Benutzer "root").
  6. Geben Sie in das Feld Befehl den Befehl ein, der auf das betreffende Ereignis hin ausgeführt werden soll. In unserem Beispiel ist das /usr/local/psa/bin/test-handler.sh.
  7. Klicken Sie auf OK.

Hinweis: Im Skript haben wir die Variablen $NEW_CONTACT_NAME und $NEW_LOGIN_NAME angegeben. Vor der Ausführung des Handlers werden diese Parameter durch den Namen und den Benutzernamen des jeweiligen Benutzerkontos ersetzt. Eine vollständige Liste der verfügbaren Variablen finden Sie unter Ereignisparameter, die von Ereignis-Handlern übergeben werden.

Wenn Sie sich nun in Plesk anmelden und ein Kundenkonto erstellen, für das Sie den Wert 'Ein Kunde' im Feld Name des Kontakts und 'ein_kunde' im Feld Benutzername angeben, wird der Handler aufgerufen und die folgenden Einträge werden zur Datei /tmp/event_handler.log hinzugefügt:

Fri Mar 16 15:57:25 NOVT 2007

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

customer created

name: Ein Kunde

Benutzername: ein_kunde

Wenn Sie weitere Handler einrichten möchten, wiederholen Sie die oben beschriebenen Schritte für einen weiteren Handler.