Gestionnaire d’événements¶
Certaines actions dans Plesk, comme :
- Créer un compte client
- Supprimer une adresse IP
- Mettre à jour des paramètres d’hébergement d’un domaine, etc.
sont considérées comme des événements par Plesk. Pour chaque événement, vous pouvez créer un ou plusieurs gestionnaires d’événements qui exécutent une commande prédéfinie à chaque fois que l’événement se produit.
Les gestionnaires d’événements sont pratiques notamment si vous voulez exécuter une action ou un ensemble d’actions à chaque fois qu’un événement spécifique se produit. Par exemple, vous pouvez créer un gestionnaire d’événements qui se déclenche à chaque création d’abonnement, et à ce moment crée automatiquement une boîte mail, envoie une requête à un service externe, etc.
Ajouter des gestionnaires d’événements¶
Allez sous Outils & Paramètres > Gestionnaire d’événements.
Cliquez sur Ajouter un gestionnaire d’événements.
Dans la liste des événements, sélectionnez l’événement qui déclenchera le gestionnaire.
Dans les priorités, définissez la priorité pour l’exécution du gestionnaire, soit en la sélectionnant dans la liste, soit en saisissant un numéro personnalisé dans le champ. La priorité joue un rôle important si vous affectez plusieurs gestionnaires à un seul événement. Dans ce cas, les gestionnaires se déclenchent selon leur priorité, par ordre décroissant : l’événement déclenche le gestionnaire avec la priorité la plus élevée, puis celui avec la priorité la plus élevée suivante, etc.).
Dans la liste des utilisateurs, sélectionnez le compte utilisateur système au nom duquel la tâche sera exécutée.
Note
L’administrateur serveur peut créer les gestionnaires d’événements qui seront exécutés sur le serveur au nom de l’utilisateur root. Si vous souhaitez restreindre l’utilisation du compte root, créez un fichier vide nommé
root.event_handler.lock
sous/usr/local/psa/var/
.Saisissez le chemin d’accès vers le script shell ou vers un fichier .bat incluant les commandes à exécuter quand un gestionnaire d’événements se déclenche dans le champ « Commande », par exemple :
/usr/local/psa/bin/script.sh
ouC:\Windows\Temp\script.bat
).Note
Assurez-vous de donner à votre script le droit d’exécution. Vous pouvez faire cela via la commande
chmod 755 <script.sh>
Cliquez sur OK.
Transmission des paramètres d’événements¶
Lorsqu’un gestionnaire d’événements se déclenche, il transmet certaines données (« Paramètres d’événements ») associées à l’événement (les données transmises dépendent du gestionnaire d’événements concerné). Par exemple, le gestionnaire d’événements « Domaine créé » transmet les données suivantes :
- Le nom du domaine créé.
- Le GUID du domaine créé.
- Le GUID du compte client qui appartient au domaine créé.
Chaque paramètre est transmis en tant que variable d’environnement que vous pouvez utiliser dans votre script shell ou fichier .bat comme suit :
Plesk pour Linux¶
Utilisez la variable ${ENVIRONMENT_VARIABLE_NAME}
(par exemple, « ${NEW_DOMAIN_NAME}
») dans votre script shell. Lorsque le gestionnaire d’événements se déclenche, la variable est remplacée par la valeur correspondant à l’événement.
Plesk pour Windows¶
Utilisez la variable %N
(par exemple, « %1
») dans votre fichier .bat et ajoutez-y le nom de la variable d’environnement à la position correspondante à la fin de la commande dans les paramètres du gestionnaire d’événements. Dans cet exemple :
la variable « %1
» sera remplacée par la valeur de la variable d’environnement « NEW_DOMAIN_NAME
» et « %2
» sera remplacée par la valeur de « NEW_DOMAIN_GUID
». Si vous utilisez « %3
» dans le fichier .bat , la variable ne sera pas remplacée, car deux noms de variables d’environnement seulement ont été indiqués après la commande.
Vous pouvez voir la liste complète des paramètres d’événements et des noms de variables d’environnement pour chaque gestionnaire d’événements ici.
Pour référence, voici deux exemples de scripts pour l’événement « Compte client créé » :
(Plesk pour 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 pour 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
Si vous vous connectez à Plesk et créez un compte ayant comme nom « Jean Dupont » et login « jean_dupont », le gestionnaire d’événements se déclenchera et les enregistrements suivants seront ajoutés au fichier event_handler.log :
(Plesk pour 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 pour Windows)
Mon March 15 21:46:34 NOVT 2010 customer created name: John Doe login: john_doe
Ajouter et supprimer des gestionnaires d’événements¶
Pour voir la liste des gestionnaires d’événements actifs actuellement, allez dans Outils & Paramètres > Gestionnaire d’événements. Sur cette page, vous pouvez aussi modifier et supprimer des gestionnaires d’événements :
- Pour modifier un gestionnaire d’événements, cliquez sur son nom, saisissez vos modifications et cliquez sur OK.
- Pour supprimer un gestionnaire d’événements, cochez la case correspondante et cliquez sur Supprimer.