-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathrestore_ha_backup
executable file
·78 lines (72 loc) · 2.67 KB
/
restore_ha_backup
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
#!/bin/sh
. ./.env || (echo "Please run setup first" && exit 1)
if [ -n "${HA_NFS_DATA_DIRECTORY}" ]; then
. ${HA_NFS_DATA_DIRECTORY}/config/.env &> /dev/null
fi
([ -n "${HA_NFS_DATA_DIRECTORY}" ] && [ -n "$HA_PRIMARY_NODE_IP" ] && [ -n "$HA_IP_LIST" ]) || (echo "Please configure HA parameters in setup." && exit 1)
. ${LOCATION} &> /dev/null
if [ -f /etc/redhat-release ] && [ `grep -c "Red Hat" /etc/redhat-release` -eq 1 ]; then
if [ `grep -c "7.9" /etc/redhat-release` -ge 1 ]; then
docker compose version &> /dev/null
if [ $? -eq 127 ]; then
echo "Could not find docker compose"
exit 1;
else
container_command=docker
if [ -z "${HA_IP_LIST}" ]; then
alias compose_command="docker compose -f docker-compose.yml"
else
alias compose_command="docker compose -f docker-compose-ha.yml"
fi
fi
else
podman-compose version &> /dev/null
if [ $? -eq 127 ]; then
echo "Could not find podman-compose"
exit 1;
else
container_command=podman
if [ -z "${HA_IP_LIST}" ]; then
alias compose_command="podman-compose -f podman-compose.yml"
else
alias compose_command="podman-compose -f podman-compose-ha.yml"
fi
fi
fi
else
docker compose version &> /dev/null
if [ $? -eq 127 ]; then
podman-compose version &> /dev/null
if [ $? -eq 127 ]; then
echo "Could not find docker compose or podman-compose"
exit 1;
else
container_command=podman
if [ -z "${HA_IP_LIST}" ]; then
alias compose_command="podman-compose -f podman-compose.yml"
else
alias compose_command="podman-compose -f podman-compose-ha.yml"
fi
fi
else
container_command=docker
if [ -z "${HA_IP_LIST}" ]; then
alias compose_command="docker compose -f docker-compose.yml"
else
alias compose_command="docker compose -f docker-compose-ha.yml"
fi
fi
fi
set -e
MIGRATE_MONGO=${MIGRATE_MONGO:-true}
if [ "$MIGRATE_MONGO" = "true" ]; then
echo "Migrating Mongo data"
sudo chown -R 999:999 data/mongo-data
sudo chmod -R 744 data/mongo-data
compose_command up mongodb-primary -d
sleep 5
compose_command exec mongodb-primary bash -c "mongosh -u root -p \$MONGO_INITDB_ROOT_PASSWORD --eval 'cfg = rs.conf();cfg.members[0].host = \"$HA_PRIMARY_NODE_IP:27017\";rs.reconfig(cfg, { force: true })'"
sleep 5
compose_command down -v
echo "Successfully migrated Mongo data"
fi