WIP
This commit is contained in:
parent
814b47c2e1
commit
92782d7d75
|
@ -16,13 +16,17 @@ source "$SCRIPT_DIR/utils.sh"
|
|||
check_uid_root "$0"
|
||||
|
||||
# Usage
|
||||
if (($# < 1 || $# > 2))
|
||||
if (($# < 1 || $# > 2)) || [ ! -z "$2" ] && [ ! "$2" == "--keep-env" ]
|
||||
then
|
||||
echo "Usage: $0 archive [--keep_env]"
|
||||
echo "Usage: $0 archive [--keep-env]"
|
||||
echo "Exemple: $0 /tmp/mon-scodoc.tgz"
|
||||
echo "sans --keep_env restaure la sauvegarde complète (données et configuration)"
|
||||
echo "avec --keep_env restaure les données sauvegardées dans la base en conservant la configuration courante"
|
||||
exit 1
|
||||
elif $# -eq 1 ; then
|
||||
echo "restauration des données et de la configuration originale (production)"
|
||||
else
|
||||
echo "restauration des données dans la configuration actuelle"
|
||||
fi
|
||||
|
||||
# Hypothèse: la base sauvegardée s'appelle SCODOC (dans SCODOC.dump)
|
||||
|
@ -32,15 +36,17 @@ DB_DUMP="${SCODOC_VAR_DIR}"/SCODOC.dump
|
|||
DB_CURRENT=$(su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask scodoc-database -n)")
|
||||
|
||||
# computes target database name (SCODOC if production else current database)
|
||||
if [ -z "$KEEP_ENV" ] ; then # pas d'option --keepenv
|
||||
if [ -z "$2" ] ; then # pas d'option --keepenv
|
||||
DB_DEST="SCODOC"
|
||||
elif [ "$2" = "--keep_env" ] ; then
|
||||
elif [ "$2" == "--keep_env" ] ; then
|
||||
DB_DEST="$DB_DB_CURRENT"
|
||||
else
|
||||
echo
|
||||
fi
|
||||
|
||||
# Safety check
|
||||
echo "Ce script va remplacer les donnees de votre installation ScoDoc par celles"
|
||||
echo "enregistrees dans le fichier fourni."
|
||||
echo "enregistrées dans le fichier fourni."
|
||||
echo "Ce fichier doit avoir ete cree par le script save_scodoc9_data.sh."
|
||||
echo
|
||||
echo "Attention: TOUTES LES DONNEES DE CE SCODOC SERONT REMPLACEES !"
|
||||
|
@ -88,20 +94,23 @@ then
|
|||
fi
|
||||
su -c "createdb $DB_DEST" "$SCODOC_USER" || die "Erreur création db"
|
||||
|
||||
echo "Chargement de la base SQL..."
|
||||
if $KEEP_ENV ; then
|
||||
if [ ! -z $KEEP_ENV ] ; then
|
||||
echo "conservation de la configuration actuelle"
|
||||
cp "$SCODOC_VAR_DIR".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"
|
||||
echo "conservation de l'environnement actuel"
|
||||
cp "$SCODOC_VAR_DIR".old/.env "$SCODOC_VAR_DIR"/.env
|
||||
echo "redémarrez scodoc selon votre configuration"
|
||||
else
|
||||
su -c "pg_restore -d $DB_DEST $DB_DUMP" "$SCODOC_USER" || die "Erreur chargement de la base SQL"
|
||||
# -- Apply migrations if needed (only on "production" database, = SCODOC sauf config particulière)
|
||||
echo "restauratioin environnement de production"
|
||||
echo "Chargement de la base SQL..."
|
||||
su -c "pg_restore -d $DB_DEST $DB_DUMP" "$SCODOC_USER" || die "Erreur chargement de la base SQL"
|
||||
export FLASK_ENV="production" # peut-être pas utile? : .env a été recopié
|
||||
su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask db upgrade)" "$SCODOC_USER"
|
||||
# -- Start ScoDoc
|
||||
systemctl start scodoc9
|
||||
fi
|
||||
|
||||
# -- Start ScoDoc
|
||||
systemctl start scodoc9
|
||||
|
||||
echo "Terminé."
|
||||
|
|
Loading…
Reference in New Issue