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 :
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).
/usr/local/psa/bin/test-gestionnaire.sh
.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.