logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
备份管理

#备份管理

该功能由插件 «备份管理器» 提供, 包含在 专业版 及以上商业版本中

#介绍

NocoBase 备份管理器插件,提供了 NocoBase 数据库及用户上传文件的全量备份、定时备份、备份的下载、删除及还原等功能。

WARNING

备份管理器插件包含在专业版和企业版中。对于社区版和标准版用户,可以直接备份数据库,详情参考:如何备份和还原 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 表结构
  • 未开启容错模式,且创建备份时数据库版本高于当前应用数据库版本。

备份还原均为数据库全量操作,推荐在备份还原前先备份一份当前数据库

#从备份列表中还原

点击备份列表中备份项的还原按钮,在弹出窗口中输入备份文件加密密码,点击确认还原备份。

未加密备份文件无需输入密码。

若需要将备份文件还原至低版本数据库,需要开启容错模式。

#上传本地备份文件还原

点击从本地备份还原按钮,在弹出窗口中选择本地备份文件,输入备份文件加密密码,点击确认还原备份。

未加密备份文件无需输入密码。

若需要将备份文件还原至低版本数据库,需要开启容错模式。

#下载备份文件

点击备份列表中备份项的下载按钮,即可下载备份文件。

#删除备份

点击备份列表中备份项的删除按钮,即可删除备份文件。

#备份设置

切换至设置标签页,修改备份设置,点击保存即可生效。

#备份设置说明

  • 自动备份: 开启 根据 Cron 运行自动备份 后,可设置按指定时间自动备份。
  • 最大备份数: 设置备份文件本地最大保存数量,超出数量后将自动删除本地最早的备份文件。
  • 同步备份文件至云存储: 设置备份文件备份成功后自动上传的云存储。
  • 备份本地存储文件: 是否把用户上传到服务器本地存储中的文件(storage/uploads)包含在备份中。
  • 还原密码: 如果设置了还原密码,恢复备份时需要输入该密码。

还原密码请妥善保管,遗忘密码将无法还原备份文件。