Duplicacy CLI 快速入门与配置指南

1721 字
9 分钟
Duplicacy CLI 快速入门与配置指南

Duplicacy 是一个用 Go 语言实现的,开源的,跨平台的备份工具。其 Cli 命令行版本对个人用户完全免费,Gui 网页版需要付费授权,支持 Amazon S3,Google Cloud Storage,Microsoft Azure,Dropbox 和 Backblaze 等云存储以及本地磁盘,SFTP 等,支持多个客户端备份到同一个云存储,支持增量备份,支持加密备份等功能特点。

Duplicacy.jpg
Duplicacy.jpg

前提条件#

Duplicacy Cli 执行文件可以在 github release 获取。在使用 Duplicacy 命令行界面 (CLI) 之前,我们需要先进行安装。下面的安装步骤主要分为 Linux、macOS 和 Windows 三个部分。

对于 Linux 用户#

打开你的终端并输入以下命令:

Terminal window
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 用户#

打开你的终端并输入以下命令:

Terminal window
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 用户#

  1. 打开 Duplicacy 的发布页面
  2. 从最新发布的版本中下载名为 duplicacy_win_x64_*.exe 的文件。
  3. 将下载的 .exe 文件复制到一个在你的 PATH 环境变量中的目录,例如 C:\Windows\System32。
  4. 在命令提示符或 PowerShell 中,你可以通过输入 duplicacy 来运行程序。

注意:请在下载时检查最新的版本号,并在下载链接中相应地替换。

初始化存储库#

Duplicacy 使用名为 “存储库” 的目录来存储你的备份文件。要开始使用 Duplicacy,你首先需要切换到你希望备份的目录,并运行 init 命令:

Terminal window
cd path/to/your/repository
duplicacy init mywork sftp://user@192.168.1.100/path/to/storage

这个 init 命令将你的存储库与位于 192.168.1.100 的远程存储空间通过 SFTP 连接起来。这个过程可能会对你的远程存储空间进行初始化(创建所需的 duplicacy 配置文件和文件夹)。请注意,这个操作要求远程存储上的目标文件夹必须已经存在(Duplicacy 不会自动创建文件夹)。

在此过程中,你的存储库会被分配一个名为 mywork 的存储库 ID,这是一个在备份到同一存储空间的多个存储库中唯一标识此存储库的标识符。

创建备份#

一旦你的存储库与远程存储空间连接,你就可以开始创建备份了。通过执行以下的 backup 命令来进行备份:

Terminal window
duplicacy backup -stats

请注意,第一次备份可能需要一些时间,因为它会上传存储库中的所有文件。但是,后续的备份会更快,因为只有新的或被修改的文件会被上传。每个备份都由存储库 ID 和从 1 开始递增的修订号唯一标识。

恢复备份#

如果需要将存储库恢复到以前的状态,你可以使用 restore 命令。例如,要恢复到修订 1,你可以执行:

Terminal window
duplicacy restore -r 1

在某些情况下,你可能不希望直接在原始存储库上执行恢复操作,因为这可能会覆盖那些未备份的文件。或者,你可能想在另一台计算机上执行恢复操作。在这种情况下,Duplicacy 提供了很大的灵活性,允许你在任何位置创建新的存储库。只要新的存储库有相同的存储库 ID,Duplicacy 就会将其视为原始存储库的克隆:

Terminal window
cd path/to/your/restore/dir
duplicacy init mywork sftp://user@192.168.1.100/path/to/storage
duplicacy restore -r 1

多存储库备份#

你可以备份多个存储库到同一存储空间。实际上,这是推荐的方式,因为这样可以实现跨计算机的文件去重 —— 来自不同存储库的相同文件将自动去重。以下是如何初始化第二个存储库并执行备份的步骤:

Terminal window
cd path/to/your/repository2
duplicacy init mywork2 sftp://user@192.168.1.100/path/to/storage
duplicacy backup

请注意,在这个例子中,我们使用了新的存储库 ID mywork2,虽然存储地址仍然相同。

备份管理#

Duplicacy 提供了一套命令来管理你的备份:

  • list:列出所有备份
  • check:检查备份的完整性
  • diff:比较同一存储库的两个备份,或者比较两个备份中的同一文件
  • cat:打印备份中的一个文件
  • history:展示一个文件随时间变化的历史记录

以下是这些命令的使用方式:

Terminal window
duplicacy list
duplicacy check
duplicacy diff
duplicacy cat
duplicacy history

清理备份#

你可以使用 prune 命令按修订号、标签或保留策略删除备份:

Terminal window
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 命令以从存储空间中删除这些化石:

Terminal window
duplicacy prune # 如果满足删除条件,将从存储中删除已删除备份的数据块

多存储备份#

为了备份到多个存储空间,可以使用 add 命令添加新的存储。add 命令类似于 init 命令,只是第一个参数是用于区分不同存储的存储名称:

Terminal window
duplicacy add s3 mywork s3://amazon.com/mybucket/path/to/storage

你可以通过指定存储名称备份到任何存储:

Terminal window
duplicacy backup -storage s3

然而,如果存储库在两次备份操作之间发生了变化,那么以这种方式创建的备份在不同的存储上将会不同。一个更好的方法是使用 copy 命令,将指定的备份从一个存储复制到另一个存储:

Terminal window
duplicacy copy -r 1 -to s3 # 将修订 1 的备份复制到 s3 存储
duplicacy copy -to s3 # 将每个备份复制到 s3 存储

总结#

通过上述步骤,你应该已经掌握了如何使用 Duplicacy CLI 来备份和恢复你的数据。如果你需要进一步了解 Duplicacy 的更多功能和高级设置,可以查看 Duplicacy 的官方文档

如果你在使用过程中遇到任何问题,也可以在 Duplicacy 的论坛上寻求帮助。记住,数据备份是保护你的数据不受损失的重要手段,所以始终保持定期备份的好习惯!

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Duplicacy CLI 快速入门与配置指南
https://blog.moewah.com/posts/5292/
作者
MoeWah
发布于
2023-06-21
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
Ubuntu/Debian 卸载命令全解:apt remove/purge/autoremove 的区别
虚拟化与运维 apt remove、apt purge、apt autoremove 三个卸载命令的区别详解:remove 保留配置、purge 清除配置、autoremove 清理孤儿依赖,附 --simulate 预览技巧与官方文档出处,Ubuntu/Debian 用户避坑指南。
2
Docker Volume 与 Bind Mount 怎么选?区别、性能对比、双向迁移实战
虚拟化与运维 Docker Volume 和 Bind Mount 有什么区别?性能差距大吗?一文讲透数据卷与绑定挂载的管理边界、适用场景与迁移便捷性,附双向转换完整命令:卷迁宿主机目录、目录转数据卷,全部实测可抄。数据库用卷、开发热重载用绑定挂载,自部署选型不再纠结。
3
SSH 终端下 nano/vim 编辑器卡死问题:terminfo 不兼容排查修复
虚拟化与运维 SSH 连接服务器后 nano/vim 打开即卡死、乱码,方向键退格失效,但 ls/cat 正常?根因是 TERM 环境变量与服务器 terminfo 数据库不兼容。本文给出 4 步排查法、TERM=xterm 修复命令与 256 色保留方案。
4
DeepSeek-V4-Flash 看不了图片?用 pi-image-bridge 给它装一双眼睛
AI实验室 DeepSeek-V4-Flash-0731 任务通过率高、价格便宜,但模型没有视觉能力。装 pi 扩展 pi-image-bridge,配置视觉模型当副驾,截图报错、设计稿、表格都能看懂。安装一条命令,配置两个字段即可。
5
不是 VNC!Obsidian 网页版来了:Docker 自托管 Ignis 部署教程
私有化部署 Obsidian 没有官方网页版,Ignis 用兼容层让它在浏览器原生运行。本文用 Docker Compose 三分钟自托管 Ignis:Tailscale 内网访问、Caddy 公网部署、认证与 HTTPS、环境变量调优,数据全在自己手里。
随机文章 随机推荐

评论区

Profile Image of the Author

关于作者

MoeWah

我是 MoeWah,喵斯基部落的作者。一个折腾自托管、群晖 NAS、虚拟化运维与 SEO/GEO 实践的独立博主,10 年以上的企业站运维与SEO优化经验,文章来自真实部署与踩坑记录。为自己记录,为同路人分享。
专题
分类
站点统计
文章
205
分类
9
标签
449
总字数
413,413
运行时长
0
最后活动
0 天前

目录