Scripts sauvegarde/restore: améliore affichages

This commit is contained in:
Emmanuel Viennet 2025-02-11 14:11:02 +01:00
parent de0c7a2c22
commit ff67d8535f
3 changed files with 21 additions and 10 deletions

View File

@ -3,7 +3,7 @@
"Infos sur version ScoDoc"
SCOVERSION = "9.7.62"
SCOVERSION = "9.7.63"
SCONAME = "ScoDoc"

View File

@ -8,6 +8,8 @@
#
# E. Viennet, Sept 2021
#
set -euo pipefail
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
source "$SCRIPT_DIR/config.sh"
source "$SCRIPT_DIR/utils.sh"
@ -37,11 +39,16 @@ then
usage
elif [ $# -eq 1 ]
then
echo "restauration des données et de la configuration originale (production)"
echo
echo "Restauration des données et de la configuration originale (production)"
echo
SRC="$1"
DB_DEST="SCODOC"
KEEP_ENV=""
else
echo "restauration des données dans la configuration actuelle"
echo
echo "Restauration des données dans la configuration actuelle"
echo
DB_CURRENT=$(su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask scodoc-database -n)" "$SCODOC_USER")
DB_DEST="$DB_CURRENT"
KEEP_ENV="Y"
@ -62,7 +69,7 @@ echo
echo "Attention: TOUTES LES DONNEES DE CE SCODOC SERONT REMPLACEES !"
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 "La base SQL $DB_DEST sera effacée et remplacée !!!"
echo
# Préparation si une copie 'antique' doit être effacée, demander confirmation, puis effacer
SCODOC_VAR_OLD=${SCODOC_VAR_DIR}.old

View File

@ -2,13 +2,14 @@
#
# ScoDoc: save all user data (database, configs, images, archives...) in separate directory
#
#
# Utile pour migrer ScoDoc version 9 (et plus) d'un serveur a un autre
# Executer en tant que scodoc sur le serveur d'origine.
# Utiliser - pour sortir sur la sortie standard (eg pipe dans ssh...)
#
# E. Viennet, Sept 2011, Aug 2020, Aug 21
#
set -euo pipefail
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
source "$SCRIPT_DIR/config.sh"
@ -20,17 +21,20 @@ then
exit 1
fi
echo "vérification de la configuration..."
DB_CURRENT=$(cd $SCODOC_DIR && source venv/bin/activate && flask scodoc-database -n)
if [ $DB_CURRENT != 'SCODOC' ]; then
echo "Ce script ne peut transférer les données que depuis une base nommée SCODOC (c'est normalement le cas pour un serveur en production)"
echo "Vérification de la configuration..."
DB_CURRENT=$(cd "$SCODOC_DIR" && source venv/bin/activate && flask scodoc-database -n | tail -1)
if [ "$DB_CURRENT" != 'SCODOC' ]; then
echo "Ce script ne peut transférer les données que depuis une base nommée SCODOC"
echo "(c'est normalement le cas pour un serveur en production)"
echo "La base actuelle est $DB_CURRENT"
echo "Annulation"
exit 1
fi
echo
echo "Ce script est utile pour transférer toutes les données d'un serveur ScoDoc 9"
echo "à un autre ScoDoc 9."
echo "Il est vivement recommandé de mettre à jour votre ScoDoc avant."
echo "Il est vivement recommandé de mettre à jour votre ScoDoc avant, si ce n'est pas déjà fait."
echo ""
echo -n "Voulez-vous poursuivre cette sauvegarde ? (y/n) [n]"
read -r ans