尧图精选

如何用 appsmithctl import_db 将 Appsmith 数据库备份恢复到另一实例

🕒 发布时间:2026/9/10 14:47:12 📁 来源:尧图网络
如何用 appsmithctl import_db 将 Appsmith 数据库备份恢复到另一实例【免费下载链接】appsmithPlatform to build admin panels, internal tools, and dashboards. Integrates with 25 databases and any API.项目地址: https://gitcode.com/GitHub_Trending/ap/appsmith当你需要把一台 Appsmith 实例的全部数据用户、应用、数据源配置等恢复到另一台实例时Appsmith 的 Docker 镜像内置了appsmithctl管理命令其中的import_db子命令可以导入由export_db生成的备份归档。整个流程是在源实例上执行export_db得到appsmith-data.archive再把它和新实例所需的docker.env复制到目标实例的容器中最后用import_db完成导入并重启后端。准备条件以下命令均假设目标实例按官方 Docker 方式部署即宿主机已安装docker和docker-compose可用docker --version和docker-compose --version验证输出形如Docker version 20.10.7, build f0df350文档示例安装目录中有docker-compose.yml其中服务名为appsmith-ce、镜像为appsmith/appsmith-ce并将./stacks挂载为容器内的/appsmith-stacks所有命令都在docker-compose.yml所在目录中执行下文反复强调确保在目录中是命令能生效的前提。第一步在源实例上导出数据库备份先确保你处在源实例docker-compose.yml所在目录然后执行docker-compose exec appsmith-ce appsmithctl export_db备份文件会写入容器内的/appsmith-stacks/data/backup/appsmith-data.archive。由于挂载卷配置该文件同时会出现在宿主机的./stacks/data/backup/appsmith-data.archive。如果你的卷配置不同、宿主机上拿不到这个路径可以用下面的命令直接把归档拷到当前目录docker-compose cp appsmith-ce:/appsmith-stacks/data/backup/appsmith-data.archive .除了归档文件还要一并保存docker.env文件——如果你打算在别处重建这套环境或做灾难恢复这个文件是必需的。拷贝命令docker-compose cp appsmith-ce:/appsmith-stacks/configuration/docker.env .务必妥善保管这个文件它包含的信息可以用于解密归档中的 datasource 信息。也就是说目标实例要能还原数据源连接信息就必须拿到源实例的docker.env。第二步将归档文件复制到目标实例容器切到目标实例的安装目录同样是docker-compose.yml所在位置把上一步得到的归档文件拷入容器docker-compose cp ./appsmith-data.archive appsmith-ce:/appsmith-stacks/data/restore/容器启动脚本会确保/appsmith-stacks/data/restore目录存在归档放进来之后import_db就会读取它。第三步执行 import_db 恢复数据docker-compose exec appsmith-ce appsmithctl import_db这条命令导入上一步放好的备份归档把源实例的全部数据恢复到目标实例的数据库中。如果你需要免确认地执行例如在自动化脚本中可以使用-f参数跳过交互确认步骤。仓库内的部署脚本 start_app.sh 就是这么用的它先把./stacks/data/backup/appsmith-data.archive移到./stacks/data/restore然后执行docker-compose exec -T appsmith appsmithctl import_db -f注意-T是用于在无分配终端的场景下执行命令且脚本中容器名为appsmith而非appsmith-ce是因为该脚本对应的部署里服务名不同。照抄到你的环境时请确认容器名与服务名一致。第四步复制 docker.env 并重启后端为了让数据源配置可以被解密建议把源实例的docker.env也复制进目标实例假设你已经在目标实例的安装目录中且docker.env就放在同目录下docker-compose cp ./docker.env appsmith-ce:/appsmith-stacks/configuration/复制docker.env后需要重启 Appsmith 后端才能生效docker-compose exec appsmith-ce supervisorctl restart backend验证恢复是否成功用 supervisorctl 查看容器内各进程状态确认backend处于运行状态docker-compose exec appsmith-ce supervisorctl status如果导入或启动过程中出现异常可以用 supervisorctl 查看后端进程最近的 stderr 输出来定位问题docker-compose exec appsmith-ce supervisorctl tail backend stderr此外docker ps或docker-compose ps可以确认appsmith-ce容器本身是否处于 Up 状态。supervisord 还有一个 Web 界面位于http://localhost/supervisor/同样可以看到容器内各进程的运行情况。限制与注意事项import_db恢复的归档必须由export_db产生两者是配套使用的docker.env丢失意味着无法解密归档中的 datasource 信息因此在导出备份时要把两个文件都保存下来并妥善保管所有命令都依赖当前处于docker-compose.yml所在目录换目录执行会导致docker-compose exec/docker-compose cp找不到服务appsmith-ce如果你在恢复过程中遇到报错官方给出的求助渠道是 supportappsmith.com 或 Discord 的 #support 渠道见 deploy/docker/README.md 的 Troubleshooting 一节。完成以上步骤后目标实例就加载了源实例的完整数据库内容可以用原账号登录确认应用与数据源是否齐全。【免费下载链接】appsmithPlatform to build admin panels, internal tools, and dashboards. Integrates with 25 databases and any API.项目地址: https://gitcode.com/GitHub_Trending/ap/appsmith创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →