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.
Adición de controladores de eventos
-
Vaya a Herramientas y configuración > Administrador de eventos.
-
Haga clic en Añadir controlador de eventos.
-
En la lista «Evento», seleccione el evento que desencadenará el controlador.
-
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.
-
En la lista «Usuario», seleccione el usuario de sistema en cuyo nombre se ejecutará el controlador.
Nota: 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/
. -
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
oC:\Windows\Temp\script.bat
).Nota: Compruebe que su script disponga del permiso de ejecución. Para concedérselo, ejecute el comando
chmod 755 <script.sh>
-
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
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 # 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 para 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 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.