Toutes les procédures d'administration s'exécutent en lançant les tâches ant du fichier build.xml., par exemple :
ant update-index
Les scripts d'administration sont néanmoins nécessaires pour l'appel des tâches asynchrones :
- la mise à jour des index
- l'expiration des tickets fermés mais non approuvés par les utilisateurs
- l'archivage des tickets fermés
- le rappel automatique des tickets reportés
- l'alimentation automatique par courrier électronique
Principales tâches d'administration
Initialisation de la base de données |
ant init-data |
Mise à jour de la base de données |
ant upgrade |
Démarrage|arrêt|redémarrage de l'application |
ant start|stop|restart |
Mise à jour de l'index |
ant update-index |
Reconstruction de l'index |
ant rebuild-index |
Déverrouillage de l'index |
ant unlock-index |
Archivage des tickets clos |
ant archive-tickets |
Expiration des tickets non archivés |
ant expire-tickets |
Rappel des tickets reportés |
ant recall-tickets |
Envoi des rapports journaliers |
ant send-reports |
Alimentation automatique |
ant feed |
Les tâches peuvent également être appelées à l'aide des scripts d'administration montrés ci-dessous.
Mise en place des scripts d'administration
Cette partie montre comment mettre en place les scripts d'administration et lancer les tâches asynchrones pour un déploiement quick-start.
Ces procédures doivent être légèrement adaptées pour les autres déploiements (portlet et servlet).
Sous Unix
Nous supposons ici que tous les prérequis sont remplis et que le répertoire de base du projet est /usr/local/helpdesk.
Voir : 00 Prérequis
[root@server helpdesk]# ls -al total 96 -rwxr-xr-x 1 root root 78 2008-06-16 12:37 env.sh (version courante) drwxr-xr-x 2 root root 69632 2008-05-21 12:22 files (fichiers attachés) -rwxr-xr-x 1 root root 567 2008-03-28 10:16 helpdesk-cron.sh (script d'appel des tâches asynchrones) -rwxr-xr-x 1 root root 292 2008-03-28 10:16 helpdesk.sh (script d'appel des tâches synchrones) drwxr-xr-x 2 root root 4096 2008-06-18 11:50 index (indexation) drwxr-xr-x 2 root root 4096 2008-06-17 06:08 log (traces d'exécution) drwxr-xr-x 19 root root 4096 2008-06-16 12:38 src (sources des distributions)
Scripts d'administration
Le fichier env.sh contient la version courante :
#/bin/bash . /etc/profile.d/java.sh export ESUP_HELPDESK_VERSION=3.0.1
Le script helpdesk.sh sert à l'appel des tâches synchrones (start, stop, deploy, ...) :
#!/bin/bash . /usr/local/helpdesk/env.sh echo Esup-Portail Helpdesk $ESUP_HELPDESK_VERSION, running ant task $1 pushd /usr/local/helpdesk/src/esup-helpdesk-quick-start-$ESUP_HELPDESK_VERSION > /dev/null ant $1 popd > /dev/null
Le script helpdesk peut être installé dans le répertoire /etc/init.d pour le démarrage automatique de l'application au boot de la machine :
#!/bin/bash # # helpdesk Startup script for ESUP-Portail helpdesk # # chkconfig: - 99 01 # description: esup-helpdesk is the helpdesk application \ # provided by consortium ESUP-Portail. # Source function library. . /etc/rc.d/init.d/functions prog=/usr/local/helpdesk/helpdesk.sh start() { echo -n $"Starting $prog: " $prog start & } stop() { echo -n $"Stopping $prog: " $prog stop } status() { echo `ps aux | grep java | grep -v grep | wc -l` Java processes found. } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status ;; restart) stop start ;; *) echo $"Usage: $prog {start|stop|restart|status}" exit 1 esac
Le redémarrage de l'application pourra ainsi se faire en appelant :
/etc/init.d/helpdesk restart
Démarrage automatique de l'application au boot
Pour faire en sorte que l'application démarre automatiquement au boot du serveur, utiliser le programme chkconfig.
Tâches asynchrones
L'appel de tâches asynchrones est nécessaire pour :
- la mise à jour des index
- l'expiration des tickets fermés mais non approuvés par les utilisateurs
- l'archivage des tickets fermés
- le rappel automatique des tickets reportés
Le script helpdesk-cron.sh sert à l'appel des tâches asynchrones (update-index, archive-tickets, recall-tickets, ...) :
#!/bin/bash . /usr/local/helpdesk/env.sh [ -z "$1" ] && { exit 1; } export LOG_FILE=/usr/local/helpdesk/log/$1.log echo ----------------------------------------------- >> $LOG_FILE date >> $LOG_FILE echo Esup-Portail Helpdesk $ESUP_HELPDESK_VERSION, running ant task $1 >> $LOG_FILE pushd /usr/local/helpdesk/src/esup-helpdesk-quick-start-$ESUP_HELPDESK_VERSION > /dev/null ant $1 >> $LOG_FILE popd > /dev/null
Les appels des tâches asynchrones sont réalisés grâce à l'insertion des lignes suivantes dans le fichier /etc/crontab :
00,05,10,15,20,25,30,35,40,45,50,55 * * * * root /usr/local/helpdesk/helpdesk-cron.sh update-index 01 * * * * root /usr/local/helpdesk/helpdesk-cron.sh expire-tickets 03 * * * * root /usr/local/helpdesk/helpdesk-cron.sh archive-tickets 05 * * * * root /usr/local/helpdesk/helpdesk-cron.sh send-reports 01 0 * * * root /usr/local/helpdesk/helpdesk-cron.sh recall-tickets
Sous Windows
TODO A compléter.