Skip to main content

Восстановление данных

Для восстановления данных ArangoDB предлагается использовать сценарий, представленный ниже:

#!/bin/bash
#
# Restore ArangoDB database into a daily file.
#
set -e
BACKUP_DIR="<BACKUP_DIR>"
BACKUP_NAME="<NAME>"
ARANGODB_IMAGE="pythagoras/pgs-arangodb"
ARANGODB_VERSION="<VERSION>"
ARANGODB_PASS="<PASSWORD>"
ARANGODB_HOST="<HOST>"
ARANGODB_PORT="<PORT>"
RC=0
# Do tar.gz of backup folder
cd "${BACKUP_DIR}" || RC=1
tar -xf "${BACKUP_NAME}.tar.gz" -C "${BACKUP_DIR}" || RC=1
docker run \
--name arangodb_restore \
--network pgs-network \
--rm \
-v "${BACKUP_DIR}:${BACKUP_DIR}" \
pgs-private-registry:5001/${ARANGODB_IMAGE}:${ARANGODB_VERSION} \
arangorestore \
--all-databases true \
--create-database true \
--input-directory "${BACKUP_DIR}/${BACKUP_NAME}" \
--server.authentication true \
--server.endpoint "tcp://${ARANGODB_HOST}:${ARANGODB_PORT}" \
--server.password "${ARANGODB_PASS}" \
--server.username 'root' || RC=1
if [ ${RC} = 0 ]
then
echo "Backup was restored successfully "
else
echo "Restoring backup was failed"
fi

Для восстановления данных необходимо присвоить значения переменным, перечисленным в таблице. Остальные настройки следует оставить без изменений.

Наименование
переменной
ОписаниеПример
`<BACKUP_DIR>`Путь к месту хранения копий`/opt/Pythagoras/backups/arangodb`
`<NAME>`Имя архива резервной копии (без расширения .tar.gz)"arangodb_2024_01_15_1200"
`<VERSION>`Версия компонента"3.8.8"
`<HOST>`Сервер подключения"coordinator" — при кластерной установке
"arangodb" — при установке без отказоустойчивости
`<PORT>`Порт подключения"8529"
`<PASSWORD>`Пароль, значение переменной ARANGODB_PASSWORD из файла inventory установки Системы хранения данных—