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
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Paul Milleville
SCODOC_R6A06
Commits
cb03cc96
Commit
cb03cc96
authored
3 years ago
by
Emmanuel Viennet
Browse files
Options
Downloads
Patches
Plain Diff
Scripts save/restore
parent
1741e75f
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
app/scodoc/sco_utils.py
+1
-1
1 addition, 1 deletion
app/scodoc/sco_utils.py
tools/restore_scodoc9_data.sh
+87
-0
87 additions, 0 deletions
tools/restore_scodoc9_data.sh
tools/save_scodoc9_data.sh
+51
-0
51 additions, 0 deletions
tools/save_scodoc9_data.sh
with
139 additions
and
1 deletion
app/scodoc/sco_utils.py
+
1
−
1
View file @
cb03cc96
...
@@ -229,7 +229,7 @@ SCODOC_CFG_DIR = os.path.join(Config.SCODOC_VAR_DIR, "config")
...
@@ -229,7 +229,7 @@ SCODOC_CFG_DIR = os.path.join(Config.SCODOC_VAR_DIR, "config")
SCODOC_VERSION_DIR
=
os
.
path
.
join
(
SCODOC_CFG_DIR
,
"
version
"
)
SCODOC_VERSION_DIR
=
os
.
path
.
join
(
SCODOC_CFG_DIR
,
"
version
"
)
# ----- Repertoire tmp : /opt/scodoc-data/tmp
# ----- Repertoire tmp : /opt/scodoc-data/tmp
SCO_TMP_DIR
=
os
.
path
.
join
(
Config
.
SCODOC_VAR_DIR
,
"
tmp
"
)
SCO_TMP_DIR
=
os
.
path
.
join
(
Config
.
SCODOC_VAR_DIR
,
"
tmp
"
)
if
not
os
.
path
.
exists
(
SCO_TMP_DIR
):
if
not
os
.
path
.
exists
(
SCO_TMP_DIR
)
and
os
.
path
.
exists
(
Config
.
SCODOC_VAR_DIR
)
:
os
.
mkdir
(
SCO_TMP_DIR
,
0o755
)
os
.
mkdir
(
SCO_TMP_DIR
,
0o755
)
# ----- Les logos: /opt/scodoc-data/config/logos
# ----- Les logos: /opt/scodoc-data/config/logos
SCODOC_LOGOS_DIR
=
os
.
path
.
join
(
SCODOC_CFG_DIR
,
"
logos
"
)
SCODOC_LOGOS_DIR
=
os
.
path
.
join
(
SCODOC_CFG_DIR
,
"
logos
"
)
...
...
This diff is collapsed.
Click to expand it.
tools/restore_scodoc9_data.sh
0 → 100644
+
87
−
0
View file @
cb03cc96
#!/bin/bash
#
# ScoDoc: restore data (saved by save_scodoc9_data) into current install
#
# Utile pour migrer ScoDoc 9 d'un serveur a un autre
# A executer en tant que root sur le nouveau serveur
#
# E. Viennet, Sept 2021
#
SCRIPT_DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&> /dev/null
&&
pwd
)
"
source
"
$SCRIPT_DIR
/config.sh"
source
"
$SCRIPT_DIR
/utils.sh"
# Ce script doit tourner comme "root"
check_uid_root
"
$0
"
# Usage
if
[
!
$#
-eq
2
]
then
echo
"Usage:
$0
archive dbname"
echo
"Exemple:
$0
/tmp/mon-scodoc.tgz SCODOC"
exit
1
fi
SRC
=
$1
DBNAME
=
$2
# Safety check
echo
"Ce script va remplacer les donnees de votre installation ScoDoc par celles"
echo
"enregistrees 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 !"
echo
"Notamment, tous les utilisateurs et departements existants seront effaces !"
echo
echo
"La base SQL
$DBNAME
sera effacée et remplacée !!!"
echo
echo
-n
"Voulez vous poursuivre cette operation ? (y/n) [n]"
read
-r
ans
if
[
!
"
$(
norm_ans
"
$ans
"
)
"
=
'Y'
]
then
echo
"Annulation"
exit
1
fi
# -- Stop ScoDoc
echo
"Arrêt de scodoc9..."
systemctl stop scodoc9
# Clear caches
echo
"Purge des caches..."
su
-c
"(cd
$SCODOC_DIR
&& source venv/bin/activate && flask clear-cache)"
"
$SCODOC_USER
"
||
die
"Erreur purge cache scodoc9"
# Déplace scodoc-data s'il existe
if
[
-e
"
$SCODOC_VAR_DIR
"
]
then
echo
"
$SCODOC_VAR_DIR
existe: le renomme en .old"
mv
"
$SCODOC_VAR_DIR
"
"
$SCODOC_VAR_DIR
"
.old
||
die
"Erreur renommage scodoc-data"
fi
# -- Ouverture archive
echo
"Ouverture archive
$SRC
..."
(
cd
$(
dirname
"
$SCODOC_VAR_DIR
"
)
;
tar
xfz
"
$SRC
"
)
||
die
"Error opening archive"
# -- Ckeck/fix owner
echo
"Vérification du propriétaire..."
chown
-R
"
${
SCODOC_USER
}
:
${
SCODOC_GROUP
}
"
"
${
SCODOC_VAR_DIR
}
"
||
die
"Error chowning
${
SCODOC_VAR_DIR
}
"
# --- La base SQL: nommée $(db_name).dump
nb
=
$(
su
-c
"psql -l"
"
$SCODOC_USER
"
|
awk
'{print $1}'
|
grep
-c
-e
'^'
"
$DBNAME
"
'$'
)
if
[
"
$nb
"
-gt
0
]
then
echo
"Suppression de la base
$DBNAME
..."
su
-c
"dropdb
$DBNAME
"
"
$SCODOC_USER
"
||
die
"Erreur destruction db"
fi
su
-c
"createdb
$DBNAME
"
"
$SCODOC_USER
"
||
die
"Erreur destruction db"
echo
"Chargement de la base SQL..."
su
-c
"pg_restore -d
$DBNAME
${
SCODOC_VAR_DIR
}
/SCODOC.dump"
"
$SCODOC_USER
"
||
die
"Erreur chargement de la base SQL"
# -- Start ScoDoc
systemctl start scodoc9
echo
"Terminé."
This diff is collapsed.
Click to expand it.
tools/save_scodoc9_data.sh
0 → 100644
+
51
−
0
View file @
cb03cc96
#!/bin/bash
#
# 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
#
SCRIPT_DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&> /dev/null
&&
pwd
)
"
source
"
$SCRIPT_DIR
/config.sh"
source
"
$SCRIPT_DIR
/utils.sh"
if
[
"
$(
id
-nu
)
"
!=
"
$SCODOC_USER
"
]
then
echo
"
$0
: script must be runned as user
$SCODOC_USER
"
exit
1
fi
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
""
echo
-n
"Voulez-vous poursuivre cette sauvegarde ? (y/n) [n]"
read
-r
ans
if
[
!
"
$(
norm_ans
"
$ans
"
)
"
=
'Y'
]
then
echo
"Annulation"
exit
1
fi
# Destination
if
[
!
$#
-eq
1
]
then
echo
"Usage:
$0
destination_file"
echo
"(- sort sur stdout)"
echo
"Exemple:
$0
/tmp/mon-scodoc.tgz"
exit
1
fi
DEST
=
$1
db_name
=
"
$SCODOC_DB_PROD
"
# SCODOC
# dump dans /opt/scodoc-data/SCODOC.dump
pg_dump
--format
=
custom
--file
=
"
$SCODOC_VAR_DIR
/
$db_name
.dump"
"
$db_name
"
||
die
"Error dumping database"
# tar scodoc-data vers le fichier indiqué ou stdout
(
cd
$(
dirname
"
$SCODOC_VAR_DIR
"
)
;
tar
cfz
"
$DEST
"
$(
basename
"
$SCODOC_VAR_DIR
"
)
)
||
die
"Error archiving data"
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