logologo
Начало
Руководство
Разработка
Плагины
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Начало
Руководство
Разработка
Плагины
API
logologo

Управление релизами

Обзор
Переменные и ключи
Управление резервными копиями
Управление миграциями
Next PageОбзор
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#pkg: '@nocobase/plugin-backups'

#Управление резервными копиями

#Введение

Плагин NocoBase «Менеджер резервных копий» предоставляет функции полного резервного копирования базы данных NocoBase и загруженных пользователями файлов, а также функции планирования, загрузки, удаления и восстановления резервных копий.

WARNING

Плагин «Менеджер резервных копий» включен в версии Professional и Enterprise. Для пользователей Community и Standard версий вы можете напрямую создавать резервные копии базы данных; подробности см. здесь: Как создать резервную копию и восстановить NocoBase

#Установка клиента базы данных

Менеджер резервных копий зависит от клиента соответствующей базы данных. Перед использованием, пожалуйста, посетите официальный сайт, чтобы загрузить клиент, соответствующий вашей версии базы данных:

  • MySQL: https://dev.mysql.com/downloads/
  • PostgreSQL: https://www.postgresql.org/download/

Для версий Docker вы можете напрямую создать скрипт в директории ./storage/scripts:

mkdir ./storage/scripts
cd ./storage/scripts
vim install-database-client.sh

Содержимое файла install-database-client.sh следующее:

PostgreSQL
MySQL/MariaDB
#!/bin/bash

# Check if pg_dump is installed
if [ ! -f /usr/bin/pg_dump ]; then
    echo "pg_dump is not installed, starting PostgreSQL client installation..."

    # Configure Aliyun mirrors
    tee /etc/apt/sources.list > /dev/null <<EOF
deb http://mirrors.aliyun.com/debian/ bookworm main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bookworm main contrib non-free
deb http://mirrors.aliyun.com/debian-security/ bookworm-security main contrib non-free
deb-src http://mirrors.aliyun.com/debian-security/ bookworm-security main contrib non-free
deb http://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free
deb http://mirrors.aliyun.com/debian/ bookworm-backports main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bookworm-backports main contrib non-free
EOF

    # Install necessary tools and clean cache
    rm -rf /etc/apt/sources.list.d/debian.sources && apt-get update && apt-get install -y --no-install-recommends wget gnupg \
      && rm -rf /var/lib/apt/lists/*

    # Configure PostgreSQL source
    echo "deb [signed-by=/usr/share/keyrings/pgdg.asc] http://mirrors.aliyun.com/postgresql/repos/apt bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list
    wget --quiet -O /usr/share/keyrings/pgdg.asc http://mirrors.aliyun.com/postgresql/repos/apt/ACCC4CF8.asc

    # Install PostgreSQL client
    apt-get update && apt-get install -y --no-install-recommends postgresql-client-16 \
      && rm -rf /var/lib/apt/lists/*

    echo "PostgreSQL client installation completed."
else
    echo "pg_dump is already installed, skipping PostgreSQL client installation."
fi

Затем перезапустите контейнер app

docker compose restart app
# Просмотр логов
docker compose logs app

Проверьте номер версии клиента базы данных, он должен совпадать с номером версии сервера базы данных.

PostgreSQL
MySQL/MariaDB
docker compose exec app bash -c "pg_dump -V"

#Инструкции по использованию

#Создание новой резервной копии

Нажмите кнопку «Создать резервную копию», чтобы создать новую резервную копию в соответствии с настройками и отобразить ее статус в списке резервных копий.

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

Поддерживается восстановление резервных копий из списка или путем загрузки локального файла резервной копии. Операции восстановления не допускаются в следующих случаях:

  • Когда текущая версия NocoBase ниже версии NocoBase в файле резервной копии.
  • Когда текущая база данных NocoBase несовместима со следующими конфигурациями в файле резервной копии:
    • dialect (тип базы данных)
    • underscored (конфигурация полей)
    • table prefix (префикс таблицы)
    • schema (структура таблицы)
  • Если не включен режим Tolerant mode (режим отказоустойчивости), и версия базы данных на момент создания резервной копии выше, чем текущая версия базы данных приложения.

Восстановление — это полная операция с базой данных. Рекомендуется создать резервную копию текущей базы данных перед восстановлением.

#Восстановление из списка резервных копий

Нажмите кнопку Восстановить для элемента резервной копии в списке, в появившемся окне введите пароль шифрования файла резервной копии и нажмите «Подтвердить», чтобы восстановить резервную копию.

Для незашифрованных резервных копий пароль вводить не нужно.

Если вам необходимо восстановить резервную копию в базу данных более старой версии, вам нужно включить режим отказоустойчивости (Tolerant mode).

#Восстановление из локального файла резервной копии

Нажмите кнопку Восстановить из локальной резервной копии, в появившемся окне выберите локальный файл резервной копии, введите пароль шифрования файла резервной копии и нажмите «Подтвердить», чтобы восстановить резервную копию.

Для незашифрованных резервных копий пароль вводить не нужно.

Если вам необходимо восстановить резервную копию в базу данных более старой версии, вам нужно включить режим отказоустойчивости (Tolerant mode).

#Загрузка файла резервной копии

Нажмите кнопку Загрузить для элемента резервной копии в списке, чтобы загрузить файл резервной копии.

#Удаление резервной копии

Нажмите кнопку Удалить для элемента резервной копии в списке, чтобы удалить файл резервной копии.

#Настройки резервного копирования

Перейдите на вкладку Настройки, измените параметры резервного копирования и нажмите Сохранить, чтобы применить изменения.

#Описание настроек резервного копирования

  • Автоматическое резервное копирование: После включения опции Выполнять автоматическое резервное копирование по расписанию Cron вы сможете настроить автоматическое резервное копирование в указанное время.
  • Максимальное количество резервных копий: Установите максимальное количество локально сохраняемых файлов резервных копий. При превышении этого числа самые старые локальные файлы резервных копий будут автоматически удалены.
  • Синхронизировать резервную копию с облачным хранилищем: Укажите облачное хранилище, куда файлы резервных копий будут автоматически загружаться после успешного создания.
  • Резервное копирование файлов локального хранилища: Определяет, следует ли включать в резервную копию файлы, загруженные пользователями в локальное хранилище сервера (storage/uploads).
  • Пароль для восстановления: Если установлен пароль для восстановления, его необходимо ввести при восстановлении резервной копии.

Пожалуйста, храните пароль для восстановления в надежном месте. Забыв пароль, вы не сможете восстановить файл резервной копии.