Резервное копирование и восстановление#

Резервное копирование Sherpa Orchestrator (Docker)#

Инструкция для создания резервной копии конфигурации и базы данных в Docker-версии Sherpa Orchestrator.

1. Подготовка#

Откройте терминал на сервере и перейдите в директорию установки проекта.

cd /opt/SherpaOrchestrator

Рекомендуется создать отдельную папку для резервной копии с текущей датой.

BACKUP_DIR=./backup_$(date +%Y%m%d_%H%M%S)
mkdir -p "$BACKUP_DIR"

2. Копирование файла .env#

Скопируйте файл переменных окружения.

cp ./.env "$BACKUP_DIR"/.env

3. Копирование настроек backend/config#

Скопируйте папку конфигурации backend.

cp -r ./backend/config "$BACKUP_DIR"/backend_config

По умолчанию в абсолютном пути это директория:

  • /opt/SherpaOrchestrator/backend/config

4. Копирование nginx/config#

Скопируйте конфигурацию nginx.

cp -r ./nginx/config "$BACKUP_DIR"/nginx_config

5. Создание дампа базы данных MariaDB#

Если используется профиль MariaDB, создайте дамп внутри контейнера и скопируйте его на хост.

docker exec orchestrator-db sh -c 'mysqldump -u root --max-allowed-packet=1G --single-transaction orchestrator > /orchestrator_db_dump.sql'

Если изменены стандартные учетные данные БД, используйте свой логин и пароль.

docker exec -it orchestrator-db sh
mysqldump -u ваш_логин -p --max-allowed-packet=1G --single-transaction orchestrator > /orchestrator_db_dump.sql
exit

Скопируйте дамп на хостовую машину.

docker cp orchestrator-db:/orchestrator_db_dump.sql "$BACKUP_DIR"/orchestrator_mariadb_dump.sql

6. Создание дампа базы данных PostgreSQL#

Если используется профиль PostgreSQL, создайте дамп в контейнере и скопируйте его на хост.

docker exec orchestrator-pg sh -c 'PGPASSWORD=$POSTGRES_PASSWORD pg_dump -U postgres -d orchestrator -Fc -f /orchestrator_pg_dump.dump'

Если используются другие учетные данные, укажите своего пользователя и нужную базу.

docker exec -it orchestrator-pg sh
export PGPASSWORD=ваш_пароль
pg_dump -U ваш_логин -d orchestrator -Fc -f /orchestrator_pg_dump.dump
exit

Скопируйте дамп на хостовую машину.

docker cp orchestrator-pg:/orchestrator_pg_dump.dump "$BACKUP_DIR"/orchestrator_postgres_dump.dump

7. Проверка содержимого бэкапа#

Проверьте, что в директории бэкапа есть:

  • файл .env
  • директория backend_config
  • директория nginx_config
  • дамп MariaDB или дамп PostgreSQL (в зависимости от используемого профиля БД)

Пример проверки:

ls -la "$BACKUP_DIR"