60 lines
1.4 KiB
Bash
Executable File
60 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
export PATH=/4PROJECTS/bin:$PATH
|
|
|
|
if [ ! -n "$2" ]; then
|
|
echo "Missing Parameters <UUID> <FILE>"
|
|
exit 0
|
|
fi
|
|
|
|
UUID=$1
|
|
|
|
source /4server/sbin/helpers
|
|
|
|
docker run $UUID
|
|
|
|
BACKUP="/mnt/backup/$2"
|
|
TEMPLATE="/mnt/db_images/$2"
|
|
echo "TEMPLATE"
|
|
docker exec "${1%}" /bin/bash -c "[ -f $TEMPLATE ]"
|
|
|
|
if docker exec "${1%}" /bin/bash -c "[ -f $BACKUP ]"; then
|
|
FILENAME="$BACKUP"
|
|
elif docker exec "${1%}" /bin/bash -c "[ -f $TEMPLATE ]"; then
|
|
FILENAME="$TEMPLATE"
|
|
else
|
|
echo "File not exists"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Restoring $FILENAME to $1"
|
|
|
|
### DELETE DATABASE
|
|
PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" psql \
|
|
-h "$POSTGRES_HOST" -U "$POSTGRES_ADMIN_USER" -p "$POSTGRES_PORT" -d postgres \
|
|
-c "DROP DATABASE IF EXISTS \"$UUID\";"
|
|
|
|
|
|
|
|
echo "deleting old restore artifacts"
|
|
docker exec "${1%}" rm -rf /root/.local/
|
|
|
|
if [[ "$1" == *"_"* ]]; then
|
|
echo "Neutralize DB"
|
|
docker exec "${1%_}" odoo db --db_host beedb -w "${1%_}" -r "$1" load "$1" $FILENAME -f --neutralize
|
|
else
|
|
echo "No Neutralize DB"
|
|
docker exec "${1%}" odoo db --db_host beedb -w "${1%_}" -r "$1" load "$1" $FILENAME -f
|
|
fi
|
|
|
|
|
|
|
|
docker exec "${1%}" cp -r /root/.local/. /var/lib/odoo/.local/
|
|
docker exec "${1%}" chown -R odoo:odoo /var/lib/odoo/.local/
|
|
|
|
### transfer ownership
|
|
PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" psql \
|
|
-h "$POSTGRES_HOST" -U "$POSTGRES_ADMIN_USER" -p "$POSTGRES_PORT" -d postgres \
|
|
-c "ALTER DATABASE \"$UUID\" OWNER TO \"$UUID\";"
|
|
|
|
docker restart "${1%}"
|