Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SCODOC_R6A06
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Paul Milleville
SCODOC_R6A06
Commits
efe997fe
Commit
efe997fe
authored
3 years ago
by
Jean-Marie PLACE
Browse files
Options
Downloads
Patches
Plain Diff
check scodoc-data.old ; correction bug --keep-env
parent
ff948cb9
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
tools/restore_scodoc9_data.sh
+26
-9
26 additions, 9 deletions
tools/restore_scodoc9_data.sh
with
26 additions
and
9 deletions
tools/restore_scodoc9_data.sh
+
26
−
9
View file @
efe997fe
...
@@ -24,6 +24,11 @@ usage() {
...
@@ -24,6 +24,11 @@ usage() {
exit
1
exit
1
}
}
# analyse de la ligne de commande
# calcule:
# SRC = fichier source de la restauration
# DB_DEST = base de données destination
# KEEP_ENV = vide si restauration à l'identique (i.e. production)
if
((
$#
< 1
||
$#
>
2
))
if
((
$#
< 1
||
$#
>
2
))
then
then
usage
usage
...
@@ -37,7 +42,7 @@ else
...
@@ -37,7 +42,7 @@ else
echo
"restauration des données dans la configuration actuelle"
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_CURRENT
=
$(
su
-c
"(cd
$SCODOC_DIR
&& source venv/bin/activate && flask scodoc-database -n)"
)
DB_DEST
=
"
$DB_CURRENT
"
DB_DEST
=
"
$DB_CURRENT
"
KEEP
=
1
KEEP
_ENV
=
Y
if
[
$1
=
'--keep-env'
]
;
then
if
[
$1
=
'--keep-env'
]
;
then
SRC
=
$2
SRC
=
$2
else
else
...
@@ -56,21 +61,34 @@ echo "Notamment, tous les utilisateurs et departements existants seront effaces
...
@@ -56,21 +61,34 @@ echo "Notamment, tous les utilisateurs et departements existants seront effaces
echo
echo
echo
"La base SQL
$DB_CURRENT
sera effacée et remplacée !!!"
echo
"La base SQL
$DB_CURRENT
sera effacée et remplacée !!!"
echo
echo
echo
-n
"Voulez vous poursuivre cette operation ? (y/n) [n]"
# Préparation si une copie 'antique' doit être effacée, demander confirmation, puis effacer
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
fi
if
[
!
-z
$KEEP_ENV
]
then
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]"
read
-r
ans
read
-r
ans
if
[
!
"
$(
norm_ans
"
$ans
"
)
"
=
'Y'
]
if
[
!
"
$(
norm_ans
"
$ans
"
)
"
=
'Y'
]
then
then
echo
"Annulation"
echo
"Annulation
de la restauration par l
\'
utilisateur
"
exit
1
exit
1
fi
fi
rm
-rf
$SCODOC_VAR_OLD
||
die
"Erreur suppression
$SCODOC_VAR_OLD
"
# -- Stop ScoDoc
# -- Stop ScoDoc
if
[
$KEEP
-ne
1
]
;
then
if
[
-z
$KEEP_ENV
]
then
echo
"Arrêt de scodoc9..."
echo
"Arrêt de scodoc9..."
systemctl stop scodoc9
systemctl stop scodoc9
else
echo
-n
"Assurez-vous d'avoir arrété le serveur scodoc (validez pour continuer)"
read
ans
fi
fi
# Clear caches
# Clear caches
...
@@ -103,7 +121,7 @@ su -c "createdb $DB_DEST" "$SCODOC_USER" || die "Erreur création db"
...
@@ -103,7 +121,7 @@ su -c "createdb $DB_DEST" "$SCODOC_USER" || die "Erreur création db"
if
[
!
-z
$KEEP_ENV
]
;
then
if
[
!
-z
$KEEP_ENV
]
;
then
echo
"conservation de la configuration actuelle"
echo
"conservation de la configuration actuelle"
cp
"
$SCODOC_VAR_
DIR
"
.old
/.env
"
$SCODOC_VAR_DIR
"
/.env
cp
"
$SCODOC_VAR_
OLD
"
/.env
"
$SCODOC_VAR_DIR
"
/.env
echo
"récupération des données..."
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
"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
"
su
-c
"(cd
$SCODOC_DIR
&& source venv/bin/activate && flask db upgrade)"
"
$SCODOC_USER
"
...
@@ -119,5 +137,4 @@ else
...
@@ -119,5 +137,4 @@ else
systemctl start scodoc9
systemctl start scodoc9
fi
fi
echo
"Terminé."
echo
"Terminé."
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment