Controladores de eventos

Algunas acciones en Plesk, como por ejemplo:

  • Creación de una cuenta de cliente
  • Eliminación de una dirección IP
  • Actualización de la configuración de hosting de un dominio, entre otras

son reconocidas por Plesk como eventos. Para cada evento puede crear uno o más controladores de eventos que ejecuten un comando predeterminado cada vez que acontezca el evento.

Los controladores de eventos resultan útiles si desea que cada vez que acontezca un evento concreto se lleve a cabo una acción determinada o varias acciones. Por ejemplo, puede crear un controlador de eventos que se ejecute cada vez que se cree una suscripción y configurarlo para que cree un buzón de forma automática y envíe una petición a un servicio externo, etc.

A continuación en esta sección:

Adición de controladores de eventos

¿Qué parámetros pasa el evento?

Edición y eliminación de controladores de eventos

Parámetros de eventos pasados por controladores de eventos

 

Adición de controladores de eventos

  1. Vaya a Herramientas y configuración > Administrador de eventos.
  2. Haga clic en  Añadir controlador de eventos.
  3. En la lista "Evento", seleccione el evento que desencadenará el controlador.
  4. Debajo de "Prioridad", establezca la prioridad de ejecución del controlador seleccionándola en la lista o indicando un número en el campo. La prioridad deviene importante si asigna varios controladores a un único evento. En este caso, los controladores se desencadenan en función de su prioridad en orden descendente. Es decir, primero el evento desencadena el controlador con mayor prioridad, posteriormente el que presente la segunda prioridad más importante, etc.
  5. En la lista "Usuario", seleccione el usuario de sistema en cuyo nombre se ejecutará el controlador.

    Nota en el caso de Plesk para Linux: el administrador del servidor puede crear los controladores de eventos que se ejecutarán en el servidor en nombre del usuario root. Si desea restringir el uso de la cuenta root, cree un archivo vacío denominado  root.event_handler.lock en /usr/local/psa/var/.

  6. Indique la ruta al script shell o a un archivo .bat que contenga los comandos a ejecutar cuando el controlador de eventos desencadene en el campo "Comando"  (por ejemplo, /usr/local/psa/bin/script.sh o C:\Windows\Temp\script.bat).
  7. Haga clic en ACEPTAR.
 

¿Qué parámetros pasa el evento?

Cuando se desencadena un controlador de eventos, este pasa determinados datos ("Parámetros de evento") asociados con el evento (los datos que se pasan varían en función del controlador de eventos en cuestión). Por ejemplo, el controlador de eventos "Domain created" pasa los siguientes parámetros:

  • El nombre del dominio nuevo creado.
  • El GUID del dominio nuevo creado.
  • El GUID de la cuenta de cliente que posee el dominio nuevo creado.

Cada parámetros se pasa como una variable de entorno que puede usar en su script shell o en el archivo .bat de la siguiente forma:

Plesk para Linux

Use el marcador de posición ${ENVIRONMENT_VARIABLE_NAME} (por ejemplo, "${NEW_DOMAIN_NAME}") en su script shell. Cuando se desencadena el controlador de eventos, el marcador será reemplazado por el valor correspondiente al evento.

Plesk para Windows

Use el marcador de posición %N (por ejemplo, "%1") en su archivo .bat y añada el nombre de la variable de entorno deseada en la posición correspondiente al final del comando en la configuración del controlador de eventos. En el siguiente ejemplo

2

el marcador "%1" se reemplazará por el valor de la variable de entorno "NEW_DOMAIN_NAME" y "%2" se reemplazará por el valor de "NEW_DOMAIN_GUID". Si usa "%3" en el archivo .bat, este no será reemplazado por nada, puesto que tras el comando sólo se especificaron dos nombres de variable de entorno.

Si desea ver la lista completa de parámetros de evento y los nombres de las variables de entorno asociadas para cada controlador de eventos, haga clic aquí.

A continuación le mostramos dos ejemplos de script del evento ‘Customer account created’:

  • (Plesk para Linux) test-handler.sh

    #!/bin/bash

    echo "--------------" >> /tmp/event_handler.log

    /bin/date >> /tmp/event_handler.log # información sobre la fecha y la hora del evento

    /usr/bin/id >> /tmp/event_handler.log # información sobre el usuario en cuyo nombre se ejecuta el script (para garantizar el control)

    echo "customer created" >> /tmp/event_handler.log # información sobre la cuenta de cliente creada

    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 para Windows) test-handler.bat

    echo "--------------" >> c:\windows\temp\event_handler.log

    información rem sobre la fecha y hora del evento

    date /T>> c:\windows\temp\event_handler.log

    información rem sobre la cuenta de cliente creada

    echo "customer created" >> c:\windows\temp\event_handler.log

    nombre del cliente rem

    echo "name: %1" >> c:\windows\temp\event_handler.log

    nombre de usuario del cliente rem en Plesk

    echo "login: %2" >> c:\windows\temp\event_handler.log

    echo "--------------" >> c:\windows\temp\event_handler.log

Si accede a Plesk y crea una cuenta de cliente denominada "John Doe" con el nombre de usuario “john_doe”, se desencadenará el controlador de eventos y se añadirán los siguientes registros al archivo  event_handler.log:

  • (Plesk para 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 para Windows)

    Mon March 15 21:46:34 NOVT 2010

    customer created

    name: John Doe

    login: john_doe

 

Edición y eliminación de controladores de eventos

Si desea ver la lista de controladores de eventos activos en este momento, haga clic en Herramientas y configuración > Administrador de eventos. Aquí también puede editar y eliminar controladores de eventos:

  • Para editar un controlador de eventos, haga clic en su nombre, lleve a cabo los cambios deseados y haga clic en ACEPTAR.
  • Para eliminar un controlador de eventos, seleccione la casilla correspondiente y haga clic en Eliminar.
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.