Ajouter les gestionnaires d'évènements (Linux)

Créons par exemple un gestionnaire d'évènements pour l'évènement "création d'un compte client". Le gestionnaire acceptera le nom d'un client et le nom d'utilisateur du client dans Plesk à partir des variables de l'environnement. Pour plus de simplicité, nous utilisons un script shell appelé test-gestionnaire.sh et qui se présente comme suit :

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

Ce script imprime quelques informations dans un fichier pour qu'il soit possible de contrôler son exécution (il n'est pas possible d'exporter des informations dans "stdout/stderr", car le script est exécuté en arrière-plan).

Remarque : nous vous conseillons vivement d'utiliser les fichiers de script du shell pour traiter les événements. Même si vous pouvez affecter des commandes directes du système, elles risquent de ne pas fonctionner. Disons que les commandes avec des opérateurs de redirection de sortie < ou > ne fonctionnent pas.

Supposons que notre script se trouve dans le répertoire /_plesk_installation_directory/bin (par exemple). Enregistrons-le en créant un gestionnaire d'évènements via le Panneau d'administration :

  1. Allez dans Outils & Paramètres > Gestionnaire d'évènements.
  2. Cliquez sur Ajouter un gestionnaire d'événements.
  3. Choisissez l'évènement auquel vous voulez affecter un gestionnaire dans le menu Événements.
  4. Choisissez le degré de priorité pour l'exécution du gestionnaire ou indiquez une valeur de votre choix. Pour ce faire, sélectionnez "Personnalisée" dans le menu Priorité puis saisissez la valeur dans le champ.

    Quand vous affectez plusieurs gestionnaires à un seul évènement, vous pouvez préciser l'ordre d'exécution des gestionnaires, en configurant des priorités différentes (une plus grande valeur correspond à une priorité plus élevée).

  5. Sélectionnez l'utilisateur système au nom duquel le gestionnaire sera exécuté (utilisateur "root", par exemple).
  6. Dans la zone de saisie Commande, entrez la commande devant s'exécuter quand l'évènement sélectionné se produit. Dans notre exemple, il s'agit de /usr/local/psa/bin/test-gestionnaire.sh.
  7. Cliquez sur OK.

Remarque : dans le script, nous avons indiqué les variables $NEW_CONTACT_NAME et $NEW_LOGIN_NAME. Au cours de l'exécution du gestionnaire, elles seront remplacées respectivement par le nom et le nom d'utilisateur du compte utilisateur créé. Vous trouverez la liste complète des variables disponibles dans l'Appendice C : Paramètres des événements transmis par les gestionnaires d'événements.

Maintenant, si vous connectez à Plesk et créez un compte client en indiquant comme valeur "Some Customer" dans le champ Nom du contact et "some_customer" dans le champ Nom d'utilisateur, le gestionnaire sera appelé et les enregistrements suivants seront ajoutés au journal /tmp/event_handler.log :

Fri Mar 16 15:57:25 NOVT 2007

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

customer created

name: Some Customer

login: some_customer

Si vous voulez indiquer un ou plusieurs gestionnaires supplémentaires, répétez les étapes ci-dessus.