Subversion Repositories eFlore/Applications.coel

Rev

Blame | Last modification | View Log | RSS feed

#!/bin/bash
###############################################################################
# But : Met à jour la base de données Coel.
# Auteur :  Jean-Pascal Milcent <jpm@tela-botanica.org> (translate bat file to shell script) 
# License : GPL v3
# Création : 01 octobre 2009
# Version: 0.1
# $Id$
###############################################################################
# Constante
NBREPARAM=$#

# Aide
E_OPTERR=65
if [ "$1" = '--help' ]
then # Le script a besoin d'au moins un argument sur la ligne de commande
        echo "Usage $0 -[parameters -u, -p]"
        echo "Paramétres obligatoires : "
        echo "  -u: indiquer le nom de l'utilisateur mysql"
        echo "  -p: indiquer le mot de passe de l'utilisateur mysql (utiliser les guillemets \"\" pour un mot de passe vide)"
        exit $E_OPTERR
fi

# Récupération des paramètres et des options de la ligne de commande
TEMP=`getopt -o u:p:h: -l help: -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$TEMP"
while [ ! -z "$1" ] ; do
        #echo $1" # "$2
        case "$1" in
                -h) HOST=$2;;
                -u) MYSQL_USER=$2;;
                -p) MYSQL_PASSWD=$2;;
                --) shift ; break ;;
                *) echo "Internal error!" ; exit 1 ;;
        esac
        shift 2 
done
# Vérifions que nous avions bien le mot de passe et l'utilisateur mysql
if [ $NBREPARAM -ne 4 ]; then
        echo "Paramètres requis, utiliser la commande pour voir lesquels : coel.sh --help."
else
        # Nous devons être dans le dossier de ce script pour que tout fonctionne
        echo "Vérifions que le fichier sql de l'application Coel existe : ";
        if [ -f $PWD/coel.sql.bz2 ]; then
                echo "\tOK";
                echo "Mise à jour de la bdd COEL dans Mysql :";
                bunzip2 $PWD/coel.sql.bz2
                /opt/lampp/bin/mysql -u $MYSQL_USER -p$MYSQL_PASSWD --default-character-set=utf8 --database=tb_coel < $PWD/coel.sql
                bzip2 -q $PWD/coel.sql
        else
                echo "\tLe fichier coel.sql.bz2 n'existe pas. Veuillez mettre à jour votre dépôt SVN et relancer ce script."
        fi
fi