Aggiunta di gestori di eventi (Linux)

Immaginiamo che creiamo un gestore di eventi per l'evento 'creazione di account cliente'. Il gestore accetterà il nome di cliente e nome utente in Plesk dalle variabili dell'ambiente. Per rendere l'esempio più semplice, useremo un shell-script con nome test-handler.sh che presenta l'aspetto seguente:

#!/bin/bash

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

/bin/date >> /tmp/event_handler.log # informazione sulla data e ora dell'evento

/usr/bin/id >> /tmp/event_handler.log # informazione sull'utente, per conto del quale lo script è stato eseguito (per garantire il controllo)

echo "customer created" >> /tmp/event_handler.log # informazioni sull'account cliente creato

echo "name: ${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # nome del cliente

echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # nome utente del cliente in Plesk

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

Questo script stampa alcune informazioni su un file in modo che possiamo controllare la sua esecuzione (non possiamo inviare informazioni a stdout/stderr, poiché lo script viene eseguito in modalità background).

Nota: Si consiglia fortemente di utilizzare file script shell per la gestione di eventi. Sebbene è possibile assegnare comandi di sistema diretti, potrebbero non funzionare.Per esempio, i comandi con l'operatore di reindirizzamento di output < o > non funzioneranno.

Immaginiamo che il nostro script si trova nella directory /plesk_installation_directory/bin (per esempio). Registriamolo creando un gestore di eventi via il Pannello di Amministrazione:

  1. Vai su Strumenti e Impostazioni > Gestore di eventi.
  2. Fai clic su Aggiungi gestore di eventi.
  3. Seleziona l'evento al quale desideri assegnare il gestore nel menu Evento.
  4. Seleziona la priorità per l'esecuzione del gestore o specifica un valore personalizzato. Per fare questo, seleziona personalizzata nel menu Priorità e digita il valore.

    Nell'assegnazione di diversi gestori ad un singolo evento è possibile specificare la sequenza di esecuzione del gestore, impostando differenti priorità (i valori più alti corrispondono alla priorità più alta).

  5. Seleziona l'utente di sistema per conto del quale verrà eseguito il gestore (utente "root", per esempio).
  6. Nel campo Comando, specificare un comando da eseguire dopo l'evento selezionato. Nel nostro esempio è /usr/local/psa/bin/test-handler.sh.
  7. Fai clic su OK.

Nota: Nello script, abbiamo specificato le variabili $NEW_CONTACT_NAME e $NEW_LOGIN_NAME. Durante l'esecuzione del gestore, verranno sostituiti con il nome e il nome utente dell'account utente creato rispettivamente. La lista completa di variabili disponibili è fornita nell'Appendice C: Parametri di eventi elaborati dai gestori di eventi

Adesso, se accedi a Plesk e crei un account cliente, specificando il valore 'Some Customer' nel campo Nome di contatto e 'some_customer' nel campo Login, il gestore verrà invocato e verranno aggiunti i seguenti registri a /tmp/event_handler.log:

Fri Mar 16 15:57:25 NOVT 2007

uid=0(root) gid=0(root) groups=0(root)

customer created

nome: Adesso, se accedi a Plesk e crei un nuovo account cliente, specificando il valore 'Some Customer' nel campo Nome di contatto e 'some_customer' nel campo Login, il gestore verrà invocato e verranno aggiunti i seguenti registri a /tmp/event_handler.log:

nome utente:Adesso, se accedi a Plesk e crei un nuovo account cliente, specificando il valore 'Some Customer' nel campo Nome di contatto e 'some_customer' nel campo Login, il gestore verrà invocato e verranno aggiunti i seguenti registri a /tmp/event_handler.log:

Se vuoi specificare ancora altri gestori, ripeti le azioni sopra per altri gestori.