Duplicacy 是一个用 Go 语言实现的,开源的,跨平台的备份工具。其 Cli 命令行版本对个人用户完全免费,Gui 网页版需要付费授权,支持 Amazon S3,Google Cloud Storage,Microsoft Azure,Dropbox 和 Backblaze 等云存储以及本地磁盘,SFTP 等,支持多个客户端备份到同一个云存储,支持增量备份,支持加密备份等功能特点。
前提条件
Duplicacy Cli 执行文件可以在 github release 获取。在使用 Duplicacy 命令行界面 (CLI) 之前,我们需要先进行安装。下面的安装步骤主要分为 Linux、macOS 和 Windows 三个部分。
对于 Linux 用户
打开你的终端并输入以下命令:
wget https://github.com/gilbertchen/duplicacy/releases/download/v2.1.2/duplicacy_linux_x64_2.1.2
chmod +x duplicacy_linux_x64_2.1.2
sudo mv duplicacy_linux_x64_2.1.2 /usr/local/bin/duplicacy
这些命令将会下载 Duplicacy 的二进制文件,为其添加可执行权限,并将其移动到 /usr/local/bin 目录,使得你可以在任何目录下直接运行 Duplicacy。
对于 macOS 用户
打开你的终端并输入以下命令:
wget https://github.com/gilbertchen/duplicacy/releases/download/v2.1.2/duplicacy_osx_x64_2.1.2
chmod +x duplicacy_osx_x64_2.1.2
sudo mv duplicacy_osx_x64_2.1.2 /usr/local/bin/duplicacy
和 Linux 安装步骤类似,这些命令将下载 Duplicacy 的二进制文件,添加可执行权限,并将其移动到 /usr/local/bin 目录。
对于 Windows 用户
- 打开 Duplicacy 的发布页面
- 从最新发布的版本中下载名为 duplicacy_win_x64_*.exe 的文件。
- 将下载的 .exe 文件复制到一个在你的 PATH 环境变量中的目录,例如 C:\Windows\System32。
- 在命令提示符或 PowerShell 中,你可以通过输入 duplicacy 来运行程序。
注意:请在下载时检查最新的版本号,并在下载链接中相应地替换。
初始化存储库
Duplicacy 使用名为 "存储库" 的目录来存储你的备份文件。要开始使用 Duplicacy,你首先需要切换到你希望备份的目录,并运行 init 命令:
cd path/to/your/repository
duplicacy init mywork sftp://[email protected]/path/to/storage
这个 init 命令将你的存储库与位于 192.168.1.100 的远程存储空间通过 SFTP 连接起来。这个过程可能会对你的远程存储空间进行初始化(创建所需的 duplicacy 配置文件和文件夹)。请注意,这个操作要求远程存储上的目标文件夹必须已经存在(Duplicacy 不会自动创建文件夹)。
在此过程中,你的存储库会被分配一个名为 mywork 的存储库 ID,这是一个在备份到同一存储空间的多个存储库中唯一标识此存储库的标识符。
创建备份
一旦你的存储库与远程存储空间连接,你就可以开始创建备份了。通过执行以下的 backup 命令来进行备份:
duplicacy backup -stats
请注意,第一次备份可能需要一些时间,因为它会上传存储库中的所有文件。但是,后续的备份会更快,因为只有新的或被修改的文件会被上传。每个备份都由存储库 ID 和从 1 开始递增的修订号唯一标识。
恢复备份
如果需要将存储库恢复到以前的状态,你可以使用 restore 命令。例如,要恢复到修订 1,你可以执行:
duplicacy restore -r 1
在某些情况下,你可能不希望直接在原始存储库上执行恢复操作,因为这可能会覆盖那些未备份的文件。或者,你可能想在另一台计算机上执行恢复操作。在这种情况下,Duplicacy 提供了很大的灵活性,允许你在任何位置创建新的存储库。只要新的存储库有相同的存储库 ID,Duplicacy 就会将其视为原始存储库的克隆:
cd path/to/your/restore/dir
duplicacy init mywork sftp://[email protected]/path/to/storage
duplicacy restore -r 1
多存储库备份
你可以备份多个存储库到同一存储空间。实际上,这是推荐的方式,因为这样可以实现跨计算机的文件去重 —— 来自不同存储库的相同文件将自动去重。以下是如何初始化第二个存储库并执行备份的步骤:
cd path/to/your/repository2
duplicacy init mywork2 sftp://[email protected]/path/to/storage
duplicacy backup
请注意,在这个例子中,我们使用了新的存储库 ID mywork2,虽然存储地址仍然相同。
备份管理
Duplicacy 提供了一套命令来管理你的备份:
- list:列出所有备份
- check:检查备份的完整性
- diff:比较同一存储库的两个备份,或者比较两个备份中的同一文件
- cat:打印备份中的一个文件
- history:展示一个文件随时间变化的历史记录
以下是这些命令的使用方式:
duplicacy list
duplicacy check
duplicacy diff
duplicacy cat
duplicacy history
清理备份
你可以使用 prune 命令按修订号、标签或保留策略删除备份:
duplicacy prune -r 1 # 删除修订号为 1 的备份
duplicacy prune -t quick # 删除所有带 'quick' 标签的备份
duplicacy prune -keep 1:7 # 对超过 7 天的备份,每天保留 1 个
duplicacy prune -keep 7:30 # 对超过 30 天的备份,每 7 天保留 1 个
duplicacy prune -keep 0:180 # 删除超过 180 天的所有备份
请注意,第一次调用 prune 命令时,它会删除指定的备份,但保留所有未引用的数据块(称为化石)。由于它使用两步化石收集算法来清理数据块,你需要再次运行 prune 命令以从存储空间中删除这些化石:
duplicacy prune # 如果满足删除条件,将从存储中删除已删除备份的数据块
多存储备份
为了备份到多个存储空间,可以使用 add 命令添加新的存储。add 命令类似于 init 命令,只是第一个参数是用于区分不同存储的存储名称:
duplicacy add s3 mywork s3://amazon.com/mybucket/path/to/storage
你可以通过指定存储名称备份到任何存储:
duplicacy backup -storage s3
然而,如果存储库在两次备份操作之间发生了变化,那么以这种方式创建的备份在不同的存储上将会不同。一个更好的方法是使用 copy 命令,将指定的备份从一个存储复制到另一个存储:
duplicacy copy -r 1 -to s3 # 将修订 1 的备份复制到 s3 存储
duplicacy copy -to s3 # 将每个备份复制到 s3 存储
总结
通过上述步骤,你应该已经掌握了如何使用 Duplicacy CLI 来备份和恢复你的数据。如果你需要进一步了解 Duplicacy 的更多功能和高级设置,可以查看 Duplicacy 的官方文档。
如果你在使用过程中遇到任何问题,也可以在 Duplicacy 的论坛上寻求帮助。记住,数据备份是保护你的数据不受损失的重要手段,所以始终保持定期备份的好习惯!
相关推荐
- Duplicity:企业级的增量备份与数据恢复工具
- CentOS 7 安装 Lsyncd 实现文件实时同步备份
- 使用MinIO Client客户端实时数据同步备份文件
- 通过 MinIO Server 搭建私有化对象存储服务
- 数据同步神器 - Syncthing使用教程(Resilio Sync 替代品)
- VerySync 微力同步 :国内能用的跨平台数据同步工具
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/5292.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。