Kopia 是一个跨平台备份工具,命令行与网页界面都有。它的卖点是增量快照与加密,附带压缩和去重,仓库放本地目录或云存储都行。这篇在 Windows 上从一个空目录建仓,做了两次快照,恢复后逐字节核对,再打开它的网页面板看一眼。
解压出 53 MB 的可执行文件
release 里的 zip 解开就是一个 exe 加两份说明,没有安装程序,也不需要运行时。
kopia-0.23.1-windows-x64.zip 16,894,596 字节
解压后 kopia.exe 53,132,568 字节
版本 0.23.1(2026-06-16 发布)
建仓库一条命令,密码丢了就打不开
仓库指向本地目录,创建时给的密码就是加密密钥。命令跑完会做一次初始化维护,之后所有快照都写进这个目录。
kopia repository create filesystem --path D:\wb_cache\lab\kopia_repo --password ******
输出末尾 See https://kopia.io/docs/advanced/maintenance/ for more information.
这个密码没有找回流程。仓库是端到端加密的,忘了密码,里面的块就是一堆随机字节。要留后路的话,建仓时用 --config-file 把配置单独存一份。
两次快照,第一次 1.6 秒,第二次 0.8 秒
测试目录放了三个文件:一个 5 MB 随机数据,一个 3 KB 文本,还有一个 6 字节的小文件。第一次快照把三个都收进去,改完文本再跑一次。
snapshot create D:\wb_cache\lab\kopia_src 第一次 1.6 秒
snapshot create(改过 notes.txt 后) 第二次 0.8 秒
snapshot list
2026-10-21 20:19:03 5.2 MB files:3 dirs:1 (latest-2)
2026-10-21 20:19:05 5.2 MB files:3 dirs:1 (latest-1,hourly-1,daily-1…)
两份快照都显示 5.2 MB,指的是还原后的体积,不是仓库里新增的体积。第二次只改了文本,实际写进去的只有被改动的那几个块。
恢复三个文件用了 0.5 秒,sha256 对得上
取最新一份快照恢复到另一个目录,再拿源文件比哈希。
kopia restore <snapshot-id> D:\wb_cache\lab\kopia_restore
输出 Restored 3 files, 1 directories and 0 symbolic links (5.2 MB)
耗时 0.5 秒
blob.bin 的 sha256 与源文件一致
恢复目录内容 blob.bin / notes.txt / small.txt
两份 5.2 MB 的快照,仓库只占 5.04 MB
这是去重加压缩的实际效果:两份快照加起来的内容是 10.4 MB,仓库目录里只有 15 个文件、5.04 MB。
| 项 | 数值 |
|---|---|
| 源目录内容 | 3 个文件,5.2 MB |
| 快照份数 | 2 |
| 两份合计内容 | 10.4 MB |
| 仓库实际占用 | 15 个文件,5.04 MB |
| 恢复耗时 | 0.5 秒 |
5 MB 里绝大部分是随机数据,压缩比接近 1,省下来的那点主要是重复块与索引开销。真实文档场景下压缩效果会明显得多。
网页面板 1.6 秒起,走 Basic Auth
kopia server start 之后浏览器打开 127.0.0.1:51515,看到的是五个页签,从 Snapshots 到 Preferences。
kopia server start --insecure --address 127.0.0.1:51515 \
--server-username admin --server-password ******
端口 51515 可连接 1.6 秒
鉴权方式 HTTP Basic Auth
仓库行 Repository in Filesystem: D:\wb_cache\lab\kopia_repo
列表里一条源目录显示 5.2 MB、2 minutes ago,右侧有 Policy 与 Snapshot Now 两个按钮;点进源目录能看到两份快照并排,可以勾选对比。面板本身不做首次配置,仓库必须先在命令行建好。
密码输错一次,已保存的连接会被清掉
这条是实测里最意外的一步。用错密码去连同一个仓库,命令失败的同时,它把配置里保存的密码删了,后续所有命令都提示未连接。
kopia repository connect filesystem --path <仓库> --password wrong_password
退出码 1
错误 failed to open repository: unable to create format manager: invalid repository password
附带动作 deleted repository password for C://Users//User//AppData//Roaming//kopia//repository.config
之后执行 kopia snapshot list
open repository: repository is not connected
| 操作 | 结果 |
|---|---|
| 用正确密码恢复连接 | 可以,仓库数据没丢 |
| 用错误密码连一次 | 配置里的密码被删除,连接状态丢失 |
| 快照数据 | 仍在仓库目录里,未被改动 |
排查脚本里顺手试错密码时要注意这一点,输错一次就得重新输入正确密码把连接接回来。
适合谁用
仓库 14,393 星,Go 编写,MIT 许可。命令行是主力,网页界面更像一个查看器。
| 场景 | 结论 | 理由 |
|---|---|---|
| 目录定时快照 | 合适 | 增量快照 0.8 秒,去重有效 |
| 想要图形化配置 | 不合适 | 面板不能建仓,只能看与触发 |
| 密码管理 | 要留后路 | 密码丢了仓库即失效 |
| 云存储异地备份 | 未验证 | 本次只测了本地目录仓库 |
实测范围:Windows 10 22H2(10.0.19045.6466)、Kopia v0.23.1 的本地目录仓库。云存储后端与定时策略没有验证。加密强度和超大文件也没有验证,都不作结论。








