在 Linux 上使用 Duplicati 进行个人备份
在此页
- 重复安装
- 创建备份作业
- 运行备份
- 恢复文件
- 固定备份目的地
- 远程访问 GUI
- 其他备份存储库选项
- 投递箱
本教程用于对本地 USB 硬盘执行个人备份,具有加密、重复数据删除和压缩功能。
该过程使用 Debian 9.2 进行了测试
重复安装
从 https://www.duplicati.com/download 下载最新版本
该软件需要多个库才能工作,主要是单声道库。安装软件最简单的方法是通过dpkg让它安装失败,然后用apt-get安装缺少的包:
sudo dpkg -i duplicati_2.0.2.1-1_all.deb
sudo apt-get --fix-broken install请注意,第一次安装包失败,然后我们使用 apt 安装依赖项。
启动守护进程:
sudo systemctl start duplicati.service
如果您希望它随操作系统自动启动,请使用:
sudo systemctl enable duplicati.service
要检查服务是否正在运行:
netstat -ltn | grep 8200
你应该会收到这样的回复:
完成这些步骤后,您应该能够运行浏览器并访问位于 http://localhost:8200 的本地 Web 服务
创建备份作业
转到“添加备份”以配置新的备份作业:
设置作业名称和加密密码。您将需要密码来恢复文件,因此请选择一个强密码并确保您不会忘记它:
设置目的地:您要存储备份文件的目录:
选择要备份的源文件。对于此示例,我将只选择 Desktop 文件夹:
如有必要,指定过滤器和排除项:
如果您更喜欢手动运行它们,请配置计划或禁用自动备份:
我喜欢在使用 USB 驱动器目的地时使用手动备份,如果我有服务器通过 SSH 或基于云的目的地发送备份,我会安排时间。
指定要保留的版本和上传卷大小(每个部分文件的大小):
最后,您应该会在这样的摘要中看到创建的作业:
运行备份
在上次看到的摘要中,在“主页”下单击“立即运行”以启动备份作业。屏幕顶部将显示一个进度条。
完成备份后,您可以在目标文件夹中看到一组文件,名称如下:
duplicati-20171206T143926Z.dlist.zip.aes duplicati-bdfad38a0b1f34b5db56c1de166260cd8.dblock.zip.aes duplicati-i00d8dff418a749aa9d67d0c54b0e4149.dindex.zip.aes
块的大小将是上传卷大小选项中指定的大小。使用先前设置的密码对文件进行压缩和加密。
完成后,您将在摘要中看到最后进行的备份和大小:
在这种情况下,它只有 1MB,因为我拿了一个测试文件夹。
恢复文件
要恢复文件,只需访问 http://localhost:8200 中的 Web 管理,转到“恢复”菜单并选择备份作业名称。然后选择要恢复的文件,点击“继续”:
选择还原文件或文件夹以及还原选项:
恢复将开始运行,并在用户界面顶部显示一个进度条。
固定备份目的地
如果您使用 USB 驱动器执行备份,最好在 /etc/fstab 中指定驱动器的 UUID,以便它始终自动安装在 /mnt/backup 目录(或您选择的目录).
为此,请连接您的驱动器并检查 UUID:
sudo blkid
... /dev/sdb1: UUID="4d608d85-e138-4546-9f22-4d78bef0b6a7" TYPE="ext4" PARTUUID="983a72cb-01" ...
并复制 UUID 以在 /etc/fstab 文件中包含一个条目:
... UUID=4d608d85-e138-4546-9f22-4d78bef0b6a7 /mnt/backup ext4 defaults 0 0 ...
远程访问 GUI
默认情况下,Duplicati 只监听 localhost,它本来就是这样的。但是,它包括添加密码并可从网络访问的可能性:
不推荐此设置,因为 Duplicati 还没有 SSL 功能。如果您需要远程使用备份 GUI,我建议您使用 SSH 隧道。
要做到这一点,首先启用 SSH 服务器以防你还没有它,最简单的方法是运行:
sudo tasksel
一旦你在 Duplicati 主机上运行了 SSH 服务器。转到要连接到 GUI 的计算机并设置隧道
让我们考虑一下:
- Duplicati 备份及其 GUI 在远程主机 192.168.0.150(我们称为服务器)中运行。
- 服务器上的 GUI 正在侦听端口 8200。
- jorge 是服务器中的有效用户名。
- 我将从本地端口 12345 上的主机访问 GUI。
然后打开我在客户端上运行的 SSH 隧道:
ssh -f -L 12345:localhost:8200 -N
使用 netstat 可以检查端口是否为本地主机打开:
netstat -ltn | grep :12345
tcp 0 0 127.0.0.1:12345 0.0.0.0:* LISTEN tcp6 0 0 ::1:12345 :::* LISTEN
现在我可以通过从客户端浏览器访问 http://127.0.0.1:12345 来访问远程 GUI
最后,如果您想关闭与 SSH 隧道的连接,您可以终止 ssh 进程。首先识别PID:
ps x | grep "[s]sh -f"
26348 ? Ss 0:00 ssh -f -L 12345:localhost:8200 -N
并杀死它:
kill -9 26348
或者您可以一次完成所有操作:
kill -9 $(ps x | grep "[s]sh -f" | cut -d" " -f1)
其他备份存储库选项
如果您更喜欢将备份存储在远程服务器上而不是本地硬盘驱动器上,Duplicati 有多种选择。标准协议,例如:
- FTP
- OpenStack 对象存储/Swift
- SFTP(SSH)
- WebDAV
以及更广泛的专有协议列表,例如:
- 亚马逊云盘
- 亚马逊 S3
- 蔚蓝
- B2 云存储
- Box.com
- 投递箱
- Google 云存储
- 谷歌云端硬盘
- HubiC
- Jottacloud
- mega.nz
- 微软 One Drive
- Microsoft One Drive for Business
- 微软共享点
- OpenStack 简单存储
- Rackspace 云文件
对于 FTP、SFTP、WebDAV,只需设置服务器主机名或 IP 地址、添加凭据,然后使用之前的整个过程即可。因此,我认为描述它们没有任何价值。
但是,由于我发现基于云的备份对个人事务很有用,因此我将介绍 Dropbox 的配置,它使用与 Google Drive 和 Microsoft OneDrive 相同的过程。
投递箱
让我们创建一个新的备份作业并将目标设置为 Dropbox。除了应该像这样设置的目的地之外,所有配置都完全相同:
从下拉菜单中设置“Dropbox”并配置目标文件夹后,单击 OAuth 链接以设置身份验证。
将出现一个弹出窗口,供您登录 Dropbox(或 Google Drive 或 OneDrive,具体取决于您的选择):
登录后,系统会提示您允许 Duplicati 应用程序访问您的云存储:
完成最后一个流程后,AuthID字段会自动填写:
单击“测试连接”。测试连接时,如果文件夹不存在,系统会要求您创建该文件夹:
最后它会给你一个连接成功的通知:
如果您访问您的 Dropbox 帐户,您将在定义的文件夹下看到与我们之前看到的格式相同的文件:
结论
Duplicati 是一种多平台、功能丰富且易于使用的个人计算机备份解决方案。它支持各种各样的备份存储库,这使其成为一个可以适应大多数个人需求的多功能工具。