AI——Dify数据备份与迁移

Dify数据备份与迁移

    • 一、前言
    • 二、Dify哪些东西需要备份?
    • 三、第一步:日常备份(每天做一次,防止丢数据)
      • [1. 打开服务器终端](#1. 打开服务器终端)
      • [2. 备份数据库(最重要,所有配置都在这)](#2. 备份数据库(最重要,所有配置都在这))
      • [3. 备份上传的文件(PDF/Word原文件)](#3. 备份上传的文件(PDF/Word原文件))
      • [4. 备份配置文件(.env)](#4. 备份配置文件(.env))
      • [5. 把备份文件下载到本地电脑(最关键!)](#5. 把备份文件下载到本地电脑(最关键!))
    • 四、第二步:迁移到新服务器(换服务器不丢数据)
      • [1. 新服务器先安装好Dify](#1. 新服务器先安装好Dify)
      • [2. 把旧服务器的备份文件上传到新服务器](#2. 把旧服务器的备份文件上传到新服务器)
      • [3. 恢复数据库(核心,所有配置都回来)](#3. 恢复数据库(核心,所有配置都回来))
      • [4. 恢复上传的文件(PDF/Word原文件回来)](#4. 恢复上传的文件(PDF/Word原文件回来))
      • [5. 恢复配置文件(端口、密钥回来)](#5. 恢复配置文件(端口、密钥回来))
      • [6. 启动新服务器的Dify](#6. 启动新服务器的Dify)
      • [7. 登录新Dify,数据完全一样](#7. 登录新Dify,数据完全一样)
    • 五、第三步:数据恢复(出事了救回来)
      • [1. 先停掉Dify服务](#1. 先停掉Dify服务)
      • [2. 恢复数据库](#2. 恢复数据库)
      • [3. 恢复上传文件](#3. 恢复上传文件)
      • [4. 恢复配置文件](#4. 恢复配置文件)
      • [5. 重启Dify](#5. 重启Dify)
    • 六、日常备份习惯
    • 七、常见问题
      • [1. 备份命令报错?](#1. 备份命令报错?)
      • [2. 恢复后登录不上?](#2. 恢复后登录不上?)
      • [3. 知识库文件不见了?](#3. 知识库文件不见了?)

一、前言

前面我们学会了部署、聊天机器人、知识库、工作流、AI网关。

但最容易踩一个大坑:

服务器崩了、误删文件、重装系统、换服务器、升级Dify版本 → 所有数据全丢!

  • 辛辛苦苦上传的PDF/Word知识库没了
  • 做了很久的聊天机器人、工作流没了
  • 配置好的模型密钥、权限、日志全没了

备份=保命,迁移=换房子不丢东西。

本篇用最容易理解、最简单的方式,介绍:

  • 怎么备份所有数据(防止丢)
  • 怎么迁移到新服务器(换机器不丢东西)
  • 怎么恢复数据(出事了能救回来)

二、Dify哪些东西需要备份?

最主要的有3样:

  1. 数据库(存所有配置、应用、知识库索引、用户数据)
  2. 上传的文件(PDF、Word、TXT原文件)
  3. 配置文件(.env,存端口、密钥、路径)

一句话:备份这3样,换服务器/重装/升级,数据一点都不会丢。

三、第一步:日常备份(每天做一次,防止丢数据)

1. 打开服务器终端

  • Windows:打开WSL2或Xshell/Finalshell
  • Linux/macOS:打开终端
  • 输入命令前,全程复制粘贴,不要手动敲,避免输错

2. 备份数据库(最重要,所有配置都在这)

复制下面整条命令,粘贴回车:

bash 复制代码
docker exec -t docker-postgres-1 pg_dumpall -U postgres > /usr/local/dify_backup.sql

解释:

  • 把Dify里所有数据(应用、知识库、配置、用户)打包成一个文件:dify_backup.sql
  • 保存位置:/usr/local/(服务器里)
  • 看到命令执行完、没报错,就是成功了

3. 备份上传的文件(PDF/Word原文件)

复制下面整条命令,粘贴回车:

bash 复制代码
cp -r /usr/local/dify/volumes /usr/local/dify_files_backup

解释:

  • 把你上传的所有PDF、Word、TXT原文件,复制一份备份
  • 备份文件夹:dify_files_backup

4. 备份配置文件(.env)

复制下面整条命令,粘贴回车:

bash 复制代码
cp /usr/local/dify/docker/.env /usr/local/dify_env_backup

解释:

  • 把端口、密钥、路径这些配置文件备份一份

5. 把备份文件下载到本地电脑(最关键!)

服务器备份完还不够,一定要下载到自己电脑,防止服务器崩了连备份都没了

  1. 打开FileZilla、WinSCP、宝塔文件管理器(随便一个文件传输工具)
  2. 连接服务器
  3. 找到路径:/usr/local/
  4. 下载3个文件/文件夹:
    • dify_backup.sql(数据库备份)
    • dify_files_backup(上传文件备份)
    • dify_env_backup(配置备份)

记住:备份+下载到本地=双重保险,绝对不会丢数据。

四、第二步:迁移到新服务器(换服务器不丢数据)

场景:旧服务器到期、太慢、坏了 → 换一台新服务器,所有数据原样搬过去

1. 新服务器先安装好Dify

新服务器步骤,用Docker Compose安装好干净的Dify ,安装后不要初始化、不要登录、不要配置任何东西,直接停服务:

bash 复制代码
cd /usr/local/dify/docker
docker compose down

解释: 新服务器装个空的Dify,停掉服务,准备恢复旧数据。

2. 把旧服务器的备份文件上传到新服务器

  1. 用文件传输工具,把旧服务器下载到本地的3个备份文件
  2. 上传到新服务器的/usr/local/目录

3. 恢复数据库(核心,所有配置都回来)

复制下面整条命令,粘贴回车:

bash 复制代码
cd /usr/local/dify/docker
docker compose up -d postgres
sleep 10
docker exec -i docker-postgres-1 psql -U postgres -d postgres < /usr/local/dify_backup.sql

解释:

  • 先启动数据库容器
  • 等待10秒让数据库就绪
  • 把旧数据库数据恢复到新数据库
  • 没报错就是成功

4. 恢复上传的文件(PDF/Word原文件回来)

复制下面整条命令,粘贴回车:

bash 复制代码
rm -rf /usr/local/dify/volumes
cp -r /usr/local/dify_files_backup /usr/local/dify/volumes

解释: 把旧的上传文件,复制到新Dify的文件目录

5. 恢复配置文件(端口、密钥回来)

复制下面整条命令,粘贴回车:

bash 复制代码
cp /usr/local/dify_env_backup /usr/local/dify/docker/.env

6. 启动新服务器的Dify

复制下面整条命令,粘贴回车:

bash 复制代码
cd /usr/local/dify/docker
docker compose up -d

7. 登录新Dify,数据完全一样

打开浏览器,访问新服务器IP+端口,直接用旧账号密码登录

  • 所有聊天机器人、工作流都在
  • 所有知识库、上传的PDF都在
  • 所有模型配置、权限、网关都在

总结:换服务器=装空Dify→传备份→恢复3样→启动,数据100%原样迁移,零难度。

五、第三步:数据恢复(出事了救回来)

场景:误删数据、服务器出问题、升级出错 → 用备份恢复数据。

1. 先停掉Dify服务

bash 复制代码
cd /usr/local/dify/docker
docker compose down

2. 恢复数据库

bash 复制代码
docker compose up -d postgres
sleep 10
docker exec -i docker-postgres-1 psql -U postgres -d postgres < /usr/local/dify_backup.sql

3. 恢复上传文件

bash 复制代码
rm -rf /usr/local/dify/volumes
cp -r /usr/local/dify_files_backup /usr/local/dify/volumes

4. 恢复配置文件

bash 复制代码
cp /usr/local/dify_env_backup /usr/local/dify/docker/.env

5. 重启Dify

bash 复制代码
cd /usr/local/dify/docker
docker compose up -d

总结:恢复=停服务→恢复3样→重启,数据直接回到备份时的状态。

六、日常备份习惯

  1. 每天备份一次:复制备份命令执行
  2. 每周下载一次:把备份文件下载到本地电脑
  3. 升级/改配置前必备份:防止操作失误丢数据

一句话:备份不麻烦,丢数据才麻烦,养成习惯,永远不丢数据。

七、常见问题

1. 备份命令报错?

  • 检查路径是否正确(/usr/local/)
  • 复制命令时不要漏字符、不要多空格
  • 确保Dify的postgres容器正常运行

2. 恢复后登录不上?

  • 旧服务器的账号密码登录
  • 检查配置文件.env是否恢复成功
  • 重启Dify:docker compose restart

3. 知识库文件不见了?

  • 检查/usr/local/dify/volumes是否恢复成功
  • 重新上传备份的文件即可

相关推荐
搭贝2 分钟前
低代码+AI赋能文化传媒财务结算:搭贝平台技术架构与实战解析
人工智能·低代码·架构
城事漫游Molly6 分钟前
AI赋能质性研究(一):质性编码全流程 AI Prompt 包
人工智能·prompt·ai for science·定性研究
王牌狮AIen8 分钟前
商业重构——当AI开始“自己开会”:品牌智能体的觉醒与超级个体的崛起
人工智能·重构
汤姆yu15 分钟前
原生一体化多模态大模型技术研究
ai·大模型·多模态·智能体
道友可好28 分钟前
OpenSpec:轻到起飞的 AI 编程规范层
前端·人工智能·后端
后端小肥肠29 分钟前
小红书篇篇 5 位数阅读!我自研了一套全栈爆款笔记 Skills
人工智能·aigc·agent
新加坡内哥谈技术35 分钟前
AI 勇敢新世界中的技术债务
人工智能
ruanyongjing36 分钟前
从机器翻译到智驾:规则派的黄昏与数据革命的终局(五)
人工智能·自然语言处理·机器翻译
Mahi笔记37 分钟前
AI 正在改变独立站运营的 5 个环节
人工智能
IT_陈寒41 分钟前
React状态管理这个坑,我爬了整整三天才出来
前端·人工智能·后端