From db9acb67ddaa4f23dbe79d9458d156be30621547 Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Wed, 5 Jan 2022 16:45:55 +0100
Subject: [PATCH] =?UTF-8?q?d=C3=A9tails=20bash?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 tools/restore_scodoc9_data.sh | 41 +++++++++++++++++++----------------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/tools/restore_scodoc9_data.sh b/tools/restore_scodoc9_data.sh
index 50ca92b1a..87f95a796 100755
--- a/tools/restore_scodoc9_data.sh
+++ b/tools/restore_scodoc9_data.sh
@@ -32,32 +32,35 @@ usage() {
 if (($# < 1 || $# > 2))
 then
   usage
-elif [ $# -eq 2 -a  $1 != '--keep-env' -a $2 != '--keep-env' ] ; then
+elif [ $# -eq 2 ] && [ "$1" != "--keep-env" ] && [ "$2" != "--keep-env" ]
+then
   usage
-elif [ $# -eq 1 ] ; then
+elif [ $# -eq 1 ]
+then
   echo "restauration des données et de la configuration originale (production)"
-  SRC=$1
+  SRC="$1"
   DB_DEST="SCODOC"
 else
   echo "restauration des données dans la configuration actuelle"
   DB_CURRENT=$(su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask scodoc-database -n)")
   DB_DEST="$DB_CURRENT"
-  KEEP_ENV=Y
-  if [ $1 = '--keep-env' ]; then
-    SRC=$2
+  KEEP_ENV="Y"
+  if [ "$1" = "--keep-env" ]
+  then
+    SRC="$2"
   else
-    SRC=$1
+    SRC="$1"
   fi
 fi
 DB_DUMP="${SCODOC_VAR_DIR}"/SCODOC.dump
 
 # Safety check
-echo "Ce script va remplacer les donnees de votre installation ScoDoc par celles"
+echo "Ce script va remplacer les données de votre installation ScoDoc par celles"
 echo "enregistrées dans le fichier fourni."
-echo "Ce fichier doit avoir ete cree par le script save_scodoc9_data.sh."
+echo "Ce fichier doit avoir été créé par le script save_scodoc9_data.sh."
 echo 
 echo "Attention: TOUTES LES DONNEES DE CE SCODOC SERONT REMPLACEES !"
-echo "Notamment, tous les utilisateurs et departements existants seront effaces !"
+echo "Notamment, tous les utilisateurs et départements existants seront effacés !"
 echo
 echo "La base SQL $DB_CURRENT sera effacée et remplacée !!!"
 echo
@@ -65,27 +68,27 @@ echo
 SCODOC_VAR_OLD=${SCODOC_VAR_DIR}.old
 if [ -e "$SCODOC_VAR_DIR" ] && [ -e "$SCODOC_VAR_OLD" ]
 then
-  echo "une ancienne sauvegarde ('$SCODOC_VAR_OLD' en date du $(stat -c %w $SCODOC_VAR_OLD) ) va être effacée."
+  echo "Une ancienne sauvegarde (\"$SCODOC_VAR_OLD\" en date du $(stat -c %w "$SCODOC_VAR_OLD") ) va être effacée."
   echo
 fi
-if [ ! -z $KEEP_ENV ]
+if [ -n "$KEEP_ENV" ]
 then
-   echo -n "restauration des données sans changement de configuration: Assurez-vous d'avoir arrété le serveur scodoc."
+   echo -n "Restauration des données sans changement de configuration: Assurez-vous d'avoir arrêté le serveur scodoc."
    echo
 fi
 
-echo -n "Voulez vous poursuivre la restauration ? (y/n) [n]"
+echo -n "Voulez-vous poursuivre la restauration ? (y/n) [n]"
 read -r ans
-if [ ! "$(norm_ans "$ans")" = 'Y' ]
+if [ ! "$(norm_ans "$ans")" = "Y" ]
 then
    echo "Annulation de la restauration par l\'utilisateur"
    exit 1
 fi
 
-rm -rf $SCODOC_VAR_OLD || die "Erreur suppression $SCODOC_VAR_OLD"
+rm -rf "$SCODOC_VAR_OLD" || die "Erreur suppression $SCODOC_VAR_OLD"
 
 # -- Stop ScoDoc
-if [ -z $KEEP_ENV ]
+if [ -z "$KEEP_ENV" ]
 then
    echo "Arrêt de scodoc9..."
    systemctl stop scodoc9
@@ -104,7 +107,7 @@ fi
 
 # -- Ouverture archive
 echo "Ouverture archive $SRC..."
-(cd $(dirname "$SCODOC_VAR_DIR"); tar xfz "$SRC") || die "Error opening archive"
+(cd "$(dirname "$SCODOC_VAR_DIR")"; tar xfz "$SRC") || die "Error opening archive"
 
 # -- Ckeck/fix owner
 echo "Vérification du propriétaire..."
@@ -121,7 +124,7 @@ su -c "createdb $DB_DEST" "$SCODOC_USER" || die "Erreur création db"
 
 if [ ! -z $KEEP_ENV ] ; then
    echo "conservation de la configuration actuelle"
-   cp "$SCODOC_VAR_OLD"/.env "$SCODOC_VAR_DIR"/.env
+   cp -p "$SCODOC_VAR_OLD"/.env "$SCODOC_VAR_DIR"/.env
    echo "récupération des données..."
    su -c "pg_restore -f - $DB_DUMP | psql -q $DB_DEST" "$SCODOC_USER" >/dev/null || die "Erreur chargement/renommage de la base SQL"
    su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask db upgrade)" "$SCODOC_USER"
-- 
GitLab