-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathreset-from-other-data.sh
executable file
·98 lines (77 loc) · 3.35 KB
/
reset-from-other-data.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/bash
DATA_TO_USE=$1
set -e
DATA_TO_USE=$1
URL=`grep www.frontend.rule docker-compose.yml | cut -d ":" -f 3`
VIRTUAL_HOST=${URL::-1}
echo "Démarrage de la remise à zéro de cette instance d'Odoo."
echo "... les données seront resynchronisées depuis " $DATA_TO_USE
if [[ "$DATA_TO_USE" != */data ]] ; then
echo "ERREUR: le chemin source ne se termine pas par */data"
exit -1
fi
if [[ ($VIRTUAL_HOST == espace-membres.lachouettecoop.fr) || ($VIRTUAL_HOST == sas.lachouettecoop.fr) ]] ; then
echo "ERREUR: remplacement des données de 'espace-membres.lachouettecoop.fr ou sas.***' interdit"
exit -1
fi
read -rp "Êtes-vous sûr ? (o/n)"
if [[ ! ( $REPLY =~ ^[oO]$ ) ]] ; then
exit 0
fi
echo "Arrêt du monitoring nagios"
systemctl stop nrpe
echo "Arrêt et suppression de l'instance actuelle"
docker-compose stop && docker-compose rm -vf
#echo "Suppression des données actuelles"
#rm -rf ./data
echo "Récupération des données distantes"
rsync -avzL --checksum --delete $DATA_TO_USE . --exclude="*.dump.zip" --exclude="metabase*"
echo "Redémarrage de la base de donnée avec les données à jour"
docker-compose up -d db
if [[ ($VIRTUAL_HOST != espace-membres.lachouettecoop.fr) && ($VIRTUAL_HOST != sas.lachouettecoop.fr) ]] ; then
echo "Configuration du domaine $VIRTUAL_HOST"
sleep 4 # attente que la base de donnée soit lancée
./run.sh psql << SQL0
UPDATE ir_config_parameter SET value=regexp_replace(value, '://.*', '://') || '$VIRTUAL_HOST'
WHERE key='web.base.url';
UPDATE ir_config_parameter SET value=regexp_replace(
'$VIRTUAL_HOST',
'\.' || (SELECT value FROM ir_config_parameter
WHERE key='mail.catchall.domain') || '$',
'')
WHERE key='mail.catchall.alias'
AND value!='catchall';
SQL0
echo "Désactivation des serveurs de mail autre que Mailcatcher:"
./run.sh psql << SQL1
UPDATE ir_mail_server SET active=false WHERE name NOT LIKE '%Mailcatcher%';
UPDATE fetchmail_server SET active=false WHERE active=true;
SQL1
echo "Activation des comptes de tests ADMIN,Compta,EDIT,Vente,Lambda:"
./run.sh psql << SQL2
-- espace-membres
UPDATE res_users SET active=true where login='[email protected]';
UPDATE res_users SET active=true where login='[email protected]';
UPDATE res_users SET active=true where login='[email protected]';
UPDATE res_users SET active=true where login='[email protected]';
UPDATE res_users SET active=true where login='[email protected]';
-- sas
UPDATE res_users SET active=true where login like '%@lachouettecoop.fr';
UPDATE res_users SET active=false where login='[email protected]';
UPDATE res_users SET active=false where login='[email protected]';
UPDATE res_users SET active=false where login='[email protected]';
SQL2
echo "Désactivation du serveur de Balance"
./run.sh psql << SQL3
UPDATE product_scale_system SET ftp_host='';
SQL3
echo "Désactivation des backups"
./run.sh psql << SQL4
DELETE FROM db_backup;
SQL4
fi
echo "Redémarrage d'Odoo"
docker-compose up -d
echo "Reprise du monitoring nagios"
systemctl start nrpe
echo "... et voilà !"