目录
Duplicacy是什么
https://forum.duplicacy.com/t/new-feature-erasure-coding/4168/26 https://forum.duplicacy.com/t/duplicacy-quick-start-cli/1101
因为免费并且开源,而且有冗余功能,所有使用。 本来使用GUI,但是其实GUI额外的功能并不是很灵活(如定时备份等等),因此还是换回CLI,免费且更透明。 安装可以去github下载,也可以用winget。但是winget安装的文件名不方便使用。
Duplicacy使用须知
基本概念
Repository:一个本地文件夹,他是进行备份的基本单元。这个文件夹就是你可以直接日常使用的文件所存在的地方。 Storage:一个远程存储空间,可以是一个硬盘中的文件夹,也可以一个云存储的Bucket。一个存储空间可以用来备份多个仓库。 Chunk:一个备份文件。仓库中的文件会被先打包,然后重整为多个备份文件存放在存储空间中。这些文件会用块的哈希来作为文件名。 Snapshot:即一个版本。一个仓库在被执行备份命令后会生成一个快照存储在服务器上。快照本身不存储数据,只存放相关块的哈希和一些元数据。 Shard:一个备份文件可以被分为多个分片,这个概念在数据冗余上比较有用,添加冗余的过程是以分片为单位的。
仓库和存储空间的设置
Repository的id很重要,在多个storage中,拥有相同id的snapshot会被认为对应着同一个repository。
一个仓库可以添加多个不同的存储空间,每个存储空间可以设置不同的名字(这个名字是只针对这个仓库的,不同仓库里的同一个storage可以有不同的名字)。初始化时设置的存储空间会默认使用default
这个名字。
仓库相关的设置和缓存会存放仓库内的.duplicacy
文件夹中,而存储空间的设置则存放在根目录的config
文件中。
命令大全 / Cheatsheet
基本命令
- 在当前目录新建一个仓库:
duplicacy init <仓库id> <存储空间的地址>
- 给当前仓库增加一个存储空间:
duplicacy add <存储空间名> <快照id> <存储空间地址>
- 备份当前仓库至默认存储空间:
duplicacy backup
进阶命令
- 显示仓库的完整信息:
duplicacy -d list
- 在当前目录新建一个仓库并设置存储空间的名字并加密:
duplicacy init -e -storage-name <存储空间名> <仓库id> <存储空间地址>
- 验证一个快照是否有缺块:
duplicacy check -r <快照id>
一些注意事项
- 如果备份经常更新的大文件(例如虚拟硬盘文件、数据库文件、容器镜像等等),推荐创建单独的仓库并开启固定块大小的选项。这样的话备份速度更快,需要的额外空间也更少。参见官方论坛的这篇教程。