Восстановление данных
Для восстановления данных 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 установки Системы хранения данных | — |