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
che presenta l'aspetto seguente:test-handler.sh
#!/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
(per esempio). Registriamolo creando un gestore di eventi via il Pannello di Amministrazione:/plesk_installation_directory/bin
- Vai su Strumenti e Impostazioni > Gestore di eventi.
- Fai clic su Aggiungi gestore di eventi.
- Seleziona l'evento al quale desideri assegnare il gestore nel menu Evento.
- 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).
- Seleziona l'utente di sistema per conto del quale verrà eseguito il gestore (utente "root", per esempio).
- Nel campo Comando, specificare un comando da eseguire dopo l'evento selezionato. Nel nostro esempio è
./usr/local/psa/bin/test-handler.sh
- 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.