Adición de controladores de eventos (Linux)
Pongamos, por ejemplo, que creamos un controlador de eventos para el evento 'creación de cuenta de cliente'. El gestor aceptará un nombre de cliente y las credenciales del cliente en Plesk a través de variables de entorno. Por motivos de simplicidad, usaremos un shell-script denominado test-handler.sh
que tiene la siguiente apariencia:
#!/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 # nombre del cliente
echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # nombre de usuario del cliente en Plesk
echo "--------------" >> /tmp/event_handler.log
Este script imprime información en un archivo para que así podamos controlar su ejecución (no podemos introducir información en stdout/stderr, ya que el script se ejecuta en modo de segundo plano).
Nota: es extremadamente recomendable usar archivos shell para gestionar eventos. Aunque puede asignar comandos directos de sistema, puede que estos no funcionen. Por ejemplo, los comandos con operadores de redirección de salida < or > no funcionarán.
Supongamos que nuestro script se encuentra en el directorio /plesk_installation_directory/bin
(a modo de ejemplo). Lo registramos creando un controlador de eventos a través del Panel Administrativo:
- Vaya a Herramientas y configuración > Administrador de eventos.
- Haga clic en Añadir controlador de eventos.
- En el menú Evento seleccione el evento al que desea añadir un controlador.
- Seleccione la prioridad de la ejecución del controlador o indique un valor personalizado. Para ello, vaya al menú Prioridad e introduzca el valor deseado.
Cuando se asignan controladores a un único evento, puede indicar la secuencia de ejecución del controlador ajustando las distintas prioridades (un valor superior corresponde a una prioridad más elevada).
- Seleccione el usuario de sistema, en nombre del cual se ejecutará el controlador (usuario "root", por ejemplo).
- En el campo Comando, indique el comando a ejecutar en el evento seleccionado. En nuestro ejemplo es
/usr/local/psa/bin/test-handler.sh
. - Haga clic en ACEPTAR.
Nota: en el script, hemos indicado las variables $NEW_CONTACT_NAME y $NEW_LOGIN_NAME. Durante la ejecución del controlador, estas variables serán reemplazadas por el nombre y el nombre de usuario de la cuenta cliente creada respectivamente. Puede examinar la lista de todas las variables disponibles en el Apéndice C: Parámetros de eventos pasados por controladores de eventos.
Ahora, si usted inicia sesión en su Plesk y crea una cuenta de cliente, especificando el valor 'Algún cliente' en el campo Nombre del contacto y 'algún_cliente' en el campo Inicio de sesión, el controlador será invocado y se añadirán los siguientes registros a /tmp/event_handler.log
:
Fri Mar 16 15:57:25 NOVT 2007
uid=0(root) gid=0(root) groups=0(root)
customer created
nombre: Algún Cliente
Nombre de usuario: algún_cliente
Si desea indicar uno o más controladores, repita la operación para cada uno de los nuevos controladores.