一个面向DBeaver24/25+的 Eclipse/OSGi 插件,把项目、脚本和凭据一键备份到 WebDAV
先说为什么
如果你用过 DBeaver ,应该知道它是个好东西——免费、跨平台、支持几乎所有数据库。但有个问题一直让我很不爽:没有好用的的备份机制。你说一个数据库管理工具,连个可用的备份方案都没有,这合理吗?
项目文件、脚本、连接配置、甚至数据库凭据,全都散落在工作空间的各个角落。你要是跟我一样,换电脑、重装系统、或者手滑把工作区删了——那感觉,懂的都懂。我当时就一个想法:这也太不好了吧。
我查了一圈, DBeaver 的生态里居然没有一个现成的插件能解决这个问题。说实话挺失望的——一个用了这么多年的工具,这么基础的场景居然没人做。得,自己写一个吧。
备份范围:到底备份了什么
这个插件做的事其实很简单:创建一个普通的 zip 归档,用用户名/密码认证上传到 HTTPS WebDAV 端点。
默认包含
Scripts 文件夹。你写过的查询脚本,一个不落。.metadata/.plugins 下的资源树、工作台状态和 DBeaver 插件状态。听起来很技术,翻译成人话就是:你打开 DBeaver 时的窗口布局、项目列表、常用偏好,恢复之后还是那个样子。DBeaverData 下的全局设置、 AI 插件配置、数据库连接凭据。对,凭据也备份了,后面会聊为什么要这么做。默认排除
有些东西没必要备份,占空间还容易出问题:
*.log、*.lock、*.tmp——全给过滤掉恢复流程
恢复时会先下载所选
zip归档,然后启动一个独立恢复进程。选择恢复后请关闭 DBeaver ,独立进程会在 DBeaver 完全退出后替换匹配的本地目录和文件。等几秒再重新打开 DBeaver ,一切就都回来了。
这个流程我反复调了好几次。反复尝试「备份-恢复」——结果?嗯,成了。
界面:加了什么玩意儿
插件安装后,会在 DBeaver 的主菜单栏加一个 WebDAV 备份 菜单——我承认命名很直男,但好用就行。包含三个选项:
偏好设置页在 Window -> Preferences -> WebDAV 备份,可以配置:
| 配置项 | 说明 | 默认值 |
|---|---|---|
| WebDAV 地址 | 你的 WebDAV 服务器 URL | (必填) |
| 用户名 | WebDAV 认证用户名 | (必填) |
| 密码 | 存在 Eclipse 安全存储中 | (必填) |
| 远程目录 | 备份文件放哪个目录 | dbeaver-backups |
| 保留数量 | 最多保留几个备份 | 10 |
密码这个事我纠结了一下。明文存?不行。放配置文件?太糙。最后用了 Eclipse 的安全存储( Eclipse Secure Storage ),至少比明文强。
安装:五步搞定
安装过程挺标准,和装其他 DBeaver 插件一样:
第一步: 在 DBeaver 里打开 Help -> Install New Software...。
第二步: 点击 Add...,输入更新地址:
https://bmqy.github.io/dbeaver-webdav/
本地调试的话,也可以用 Local... 指向生成的 dist/ 目录。

第三步: 勾选 DBeaver WebDAV 备份,完成安装。
第四步: 出现信任提示时,选择信任 Artifacts 并继续。

第五步: 重启 DBeaver 。
重启之后,菜单栏就会有 WebDAV 备份 了。先去 设置... 配好你的 WebDAV 地址,然后点 立即备份 试试。
说几句大实话
关于 HTTPS:插件只接受 HTTPS WebDAV 端点。不是我有洁癖,是密码和凭据都在传输里, HTTP 裸奔的话,那还不如不备份。说实话我不理解为什么 2026 年了还有人用 HTTP 做备份——你是嫌自己的数据太安全了吗?
关于凭据备份:我知道有人会觉得「把数据库密码也备份了是不是不太安全?」——嗯,说得好,我也想过这个问题。但问题是,如果只备份项目文件不备份凭据,恢复之后你还要手动重新连一遍所有数据库——而且说实话,大多数人根本记不住那些连接参数。那这个备份工具的意义就少了一半。我的思路是:凭据备份是功能设计的一部分,但你要保护好自己的 WebDAV 账号和远程目录。钥匙在你自己手里。顺便说一句, Eclipse 的安全存储本身也不是铁板一块——真要较真,它用的是主密码派生加密,不是硬件级防护。但怎么说呢,比明文强一万倍吧。
关于恢复:恢复操作具有破坏性——它会覆盖匹配的本地项目、脚本和凭据文件。所以恢复前确认一下:你当前的工作区有没有没保存的更改?有的话先手动备份一下。
最后
这个插件目前是第一个可用版本,功能上够用,但肯定还有可以改进的地方。如果你有想法或者遇到了 bug ,欢迎在 GitHub 上提 issue :bmqy/dbeaver-webdav[1]
说回正题——你怎么处理 DBeaver 的备份?还是说你也跟我一样,之前全靠「手动导出 + 找个角落存着」这种原始方式?评论区聊聊。
参考链接
[1] bmqy/dbeaver-webdav: https://github.com/bmqy/dbeaver-webdav
夜雨聆风