Rev 175 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/bin/bash# Installe GTT à partir du code en cours.## Nécessite de remplir config.sh à partir de config.defaut.sh.# Si un fichier "htaccess" est présent, il sera renommé en ".htaccess" dans le# dossier de destination de la nouvelle instance## Utilisation :# ./installgtt.sh [prefixe]## Mathias - 2015-12-28# ligne magique trouvee sur http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-inSCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"SCRIPTNAME=`basename "$0"`# date du jourDATE=`date +%Y-%m-%d`# chargement de la config. "$SCRIPTDIR/config.sh"function notice {echo "Utilisation: $SCRIPTNAME [prefixe]"echo " prefixe (optionnel): prefixe les tables de GTT dans la base de donnees"echo "Exemples:"echo " $SCRIPTNAME"echo " $SCRIPTNAME gtt_2016_"}function install_gtt {PREFIXE="$1"echo "installation de GTT - prefixe: [$PREFIXE]"# copie du .htaccessif [ -e "$SCRIPTDIR/htaccess" ]; thenecho "copie du .htaccess de reference"cp "$SCRIPTDIR/htaccess" "../.htaccess"fi# creation de la configecho "creation de la config"echo "<?php// cree par installgtt le $DATEdefine('GTT_AUTH_SESSION_NOM', 'gtt_auth_$PREFIXE');define('GTT_BDD_NOM', '$BDD_BASE');define('GTT_BDD_DSN', 'mysqli://$BDD_LOGIN:$BDD_MDP@$BDD_HOTE/'.GTT_BDD_NOM);define('GTT_BDD_PREFIXE', '$PREFIXE');define('GTT_DEBOGAGE', false);define('GTT_DEBOGAGE_SQL', false);?>" > "../config.inc.php"# modification des fichiers .sql pour ajouter le prefixe, et insertion dans la base# "sort" sert a s'assurer que "installation" est execute avant "maj" @WARNING bancal comme systeme !find "../documentation" -name "*.sql" | sort | while read line; doecho "Insertion de $line"sed "s/gestion_/${PREFIXE}gestion_/" "$line" > "${line}_${PREFIXE}.sql"CMD="$CHEMIN_MYSQL/mysql -h$BDD_HOTE -u$BDD_LOGIN -p$BDD_MDP $BDD_BASE < ${line}_${PREFIXE}.sql"eval $CMDrm "${line}_${PREFIXE}.sql"done}if [ "$1" = "help" ]; thennoticeelseinstall_gtt $@fi