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

  1. Allez sous Outils & Paramètres > Gestionnaire d’événements.

  2. Cliquez sur  Ajouter un gestionnaire d’événements.

  3. Dans la liste des événements, sélectionnez l’événement qui déclenchera le gestionnaire.

  4. 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.).

  5. 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/.

  6. 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 ou C:\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>

  7. 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 :

image-78436.png

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.