NocoBase 备份管理器如何对数据库与上传文件做定时备份和还原
NocoBase 备份管理器如何对数据库与上传文件做定时备份和还原【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase在生产环境中运行 NocoBase 时一个常见的运维需求是让系统按固定时间自动对主数据库和用户上传的文件做全量备份并在需要时把数据还原到备份时的状态。NocoBase 的备份管理器插件nocobase/plugin-backups提供数据库及用户上传文件的全量备份、定时备份、备份的下载、删除与还原。本文基于 备份管理文档 给出从确认环境、配置定时备份到执行还原的完整操作路径。适用前提备份管理器依赖与主数据库版本匹配的数据库客户端如mysqldump/pg_dump使用前必须先确认当前运行环境中已有对应客户端。前置条件确认数据库客户端可用备份管理器依赖对应主数据的数据库客户端。先确认当前运行环境中已有与数据库版本匹配的客户端否则备份无法执行。使用 Docker 安装 NocoBase 时推荐直接使用对应版本的full镜像例如latest-full、beta-full、alpha-full。这类镜像已内置常用数据库客户端通常无需手动安装。如果当前环境缺少数据库客户端有两个途径前往官网下载与所使用的数据库版本匹配的客户端MySQL 与 PostgreSQL 各自的官方下载页。在 Docker 环境中可以直接在./storage/scripts目录下编写一段安装脚本install-database-client.sh由容器在启动时安装mkdir ./storage/scripts cd ./storage/scripts vim install-database-client.sh文档为两种数据库分别提供了脚本内容。脚本会修改容器的 apt 源配置/etc/apt/sources.list并安装系统包属于会改变容器环境的操作仅建议在 NocoBase 专用容器中使用。PostgreSQL 版本#!/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. fiMySQL/MariaDB 版本脚本会下载mysql-community-client-core的 deb 包并解压出mysqldump与mysql可执行文件到/usr/bin/#!/bin/bash if [ ! -f /usr/bin/mysql ]; then echo MySQL client is not installed, starting MySQL client installation... 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 echo Updating package list and installing necessary tools... 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/* wget --no-check-certificate https://downloads.mysql.com/archives/get/p/23/file/mysql-community-client-core_8.0.39-1debian12_amd64.deb \ dpkg -x mysql-community-client-core_8.0.39-1debian12_amd64.deb /tmp/mysql-client \ cp /tmp/mysql-client/usr/bin/mysqldump /usr/bin/ \ cp /tmp/mysql-client/usr/bin/mysql /usr/bin/ echo MySQL client installation completed. else echo MySQL client is already installed, skipping installation. fi脚本写好后重启 app 容器并查看日志确认没有报错docker compose restart app # 查看日志 docker compose logs app最后验证客户端版本号必须与数据库服务端的版本号一致PostgreSQLdocker compose exec app bash -c pg_dump -VMySQL/MariaDBdocker compose exec app bash -c mysql -V配置定时备份进入备份管理器的设置标签页修改备份设置点击保存即可生效。文档给出的设置项如下自动备份开启根据 Cron 运行自动备份后可设置按指定时间自动备份。最大备份数设置备份文件本地最大保存数量超出数量后将自动删除本地最早的备份文件。同步备份文件至云存储设置备份文件备份成功后自动上传的云存储可选分支需要已配置可用的云存储。备份本地存储文件是否把用户上传到服务器本地存储中的文件storage/uploads包含在备份中。标题场景要求“数据库 上传文件”都纳入备份这一项需要开启。还原密码如果设置了还原密码恢复备份时需要输入该密码。注意还原密码请妥善保管遗忘密码将无法还原备份文件。关于 cron 表达式文档说明通过根据 Cron 运行自动备份按指定时间自动备份未给出具体示例从插件源码 plugin.ts 可见设置项中内置的默认 cron 值为0 0 * * *每日 0 点触发一次设置保存后应用会自动按新的 cron 重新计算下一次执行时间。手动新建备份除了定时自动备份也可以随时手动触发一次备份点击新建备份按钮即可根据备份配置新建备份并在备份列表中显示备份状态。备份完成后点击备份项的下载按钮可下载备份文件点击删除按钮可删除该备份文件。还原备份备份列表中的每一项都支持还原操作此外也支持从本地备份文件还原。两种方式路径如下从备份列表中还原点击备份列表中备份项的还原按钮在弹出窗口中输入备份文件加密密码点击确认还原备份。未加密备份文件无需输入密码。上传本地备份文件还原点击从本地备份还原按钮在弹出窗口中选择本地备份文件输入备份文件加密密码点击确认还原备份。未加密备份文件无需输入密码。执行还原前需要关注以下条件还原前先做一份当前数据库的备份。备份还原均为数据库全量操作文档明确推荐在备份还原前先备份一份当前数据库。以下场景不允许执行还原操作当前 NocoBase 版本低于备份文件中的 NocoBase 版本时当前 NocoBase 数据库与备份文件中的以下配置不一致时dialect数据库类型、underscored字段配置、table prefix表前缀、schema表结构。未开启容错模式且创建备份时数据库版本高于当前应用数据库版本时不允许还原。若需要将备份文件还原至低版本数据库需要开启容错模式。验证与限制备份是否成功在备份列表查看备份项及其状态新建备份与自动备份都会在备份列表中显示备份状态必要时用下载按钮取回备份文件核对。客户端版本是否匹配通过上文pg_dump -V/mysql -V确认客户端版本与数据库服务端版本一致这是备份能正常执行的前提。还原的硬限制还原密码遗忘后无法还原备份文件版本或dialect、underscored、table prefix、schema不一致时不允许还原需要按上文条件逐项核对后再执行。自动备份的触发机制定时备份依赖自动备份设置中的 Cron 配置修改设置并保存后生效备份超出最大备份数时本地最早的文件会被自动删除重要备份应通过下载或同步备份文件至云存储另行保存。完整文档参见 docs/docs/cn/ops-management/backup-manager/index.mdx插件实现位于 packages/plugins/nocobase/plugin-backups。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

PocketBase 后台系统:一条命令快速部署的开源后端

PocketBase 后台系统:一条命令快速部署的开源后端

PocketBase 后台系统:一条命令快速部署的开源后端 【免费下载链接】pocketbase Open Source realtime backend in 1 file 项目地址: https://gitcode.com/GitHub_Trending/po/pocketbase PocketBase 是一个开源的实时后端系统,用 Go 编写&#xf…

2026/9/13 17:49:20 阅读更多 →
InsForge 选型对比:AI 应用选 BaaS 后端,它和 Supabase、Firebase 差在哪

InsForge 选型对比:AI 应用选 BaaS 后端,它和 Supabase、Firebase 差在哪

InsForge 选型对比:AI 应用选 BaaS 后端,它和 Supabase、Firebase 差在哪 【免费下载链接】InsForge The all-in-one, open-source backend platform for agentic coding. InsForge gives your coding agent database, auth, storage, compute, hosting,…

2026/9/13 17:49:20 阅读更多 →
skills cloud-logging-query-generation:GCE 上第三方应用日志的 LQL 查询完整参考(Apache、Nginx、MySQL 等 24 类模板)

skills cloud-logging-query-generation:GCE 上第三方应用日志的 LQL 查询完整参考(Apache、Nginx、MySQL 等 24 类模板)

skills cloud-logging-query-generation:GCE 上第三方应用日志的 LQL 查询完整参考(Apache、Nginx、MySQL 等 24 类模板) 【免费下载链接】skills Agent Skills for Google products and technologies 项目地址: https://gitcode.com/GitHu…

2026/9/13 17:49:20 阅读更多 →

最新新闻

MATLAB车牌识别:传统图像处理实战指南

MATLAB车牌识别:传统图像处理实战指南

简介:本资源是一套基于MATLAB实现的车牌识别入门级项目代码与配套素材,面向图像处理初学者、计算机视觉课程学习者及智能交通系统开发爱好者,旨在帮助用户掌握车牌检测、定位、字符分割与识别的完整技术流程。压缩包共66个文件,包…

2026/9/13 18:41:43 阅读更多 →
Python回归模型预测插层熔喷材料性能:从特征工程到模型解释

Python回归模型预测插层熔喷材料性能:从特征工程到模型解释

简介:这是一份面向插层熔喷非织造材料性能研究的代码包,整合了基于回归模型的完整分析流程,涵盖数据预处理、回归建模、结果可视化与检验报告,适合材料、纺织、计算机等专业本科生或研究生用于课程设计、期末大作业及毕业设计。包…

2026/9/13 18:41:43 阅读更多 →
Stable Diffusion Forge AI 绘图本地部署:三道防线一次到位,图片与参数不出本机

Stable Diffusion Forge AI 绘图本地部署:三道防线一次到位,图片与参数不出本机

Stable Diffusion Forge AI 绘图本地部署:三道防线一次到位,图片与参数不出本机 【免费下载链接】stable-diffusion-webui-forge 项目地址: https://gitcode.com/GitHub_Trending/st/stable-diffusion-webui-forge AI 绘图生成的每张图片里都藏着…

2026/9/13 18:41:43 阅读更多 →
Rayleigh信道下4-FSK与4-QAM误码率对比仿真与工程选型分析

Rayleigh信道下4-FSK与4-QAM误码率对比仿真与工程选型分析

简介:在无线通信系统中,调制方式的选择直接影响传输可靠性与频谱效率。这份资源针对4-FSK与4-QAM两种调制方式,在Rayleigh衰落信道下的性能比较需求,提供一套可直接运行的MATLAB仿真脚本,面向通信工程专业学生、课程设…

2026/9/13 18:41:43 阅读更多 →
t3code 依赖的 Effect 4.0:内置 HttpApiError 错误类实现 HttpServerRespondable,可在普通 HTTP 服务端直接返回

t3code 依赖的 Effect 4.0:内置 HttpApiError 错误类实现 HttpServerRespondable,可在普通 HTTP 服务端直接返回

t3code 依赖的 Effect 4.0:内置 HttpApiError 错误类实现 HttpServerRespondable,可在普通 HTTP 服务端直接返回 【免费下载链接】t3code 项目地址: https://gitcode.com/GitHub_Trending/t3/t3code 本文基于 t3code 仓库内置参考仓库 .repos/ef…

2026/9/13 18:41:43 阅读更多 →
WSABuilds:WSA 突然罢工(WSA Stopped Working)的完整修复与虚拟化环境重置指南

WSABuilds:WSA 突然罢工(WSA Stopped Working)的完整修复与虚拟化环境重置指南

WSABuilds:WSA 突然罢工(WSA Stopped Working)的完整修复与虚拟化环境重置指南 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (Mind…

2026/9/13 18:40:43 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →