在日常运维中,数据备份和恢复是一项至关重要的任务。使用Duplicity进行数据备份和恢复是一个非常高效的方式。它的增量备份能节省大量的存储空间和带宽,同时还能为恢复过程带来便利。在备份策略中加入定期的全量备份和删除过期备份,可以更有效地管理你的备份文件。

Duplicity.jpg

在这篇文章中,我们将简单介绍如何使用Duplicity进行网站数据的备份和恢复。以下是在Debian或Ubuntu系统上使用Duplicity进行网站数据备份和恢复的详细步骤:

安装Duplicity和配置GPG密钥

首先,我们需要在源服务器(即你希望备份数据的服务器)上安装Duplicity。以下命令适用于Debian或Ubuntu系统:

sudo apt-get update
sudo apt-get install duplicity

接下来,在源服务器上,为了增加数据的安全性,我们需要创建GPG密钥:

gpg --gen-key
gpg --list-keys

最后,我们需要在源服务器上导出GPG密钥,并将其安全地传输到任何可能需要恢复数据的服务器(例如备份服务器或其他服务器):

gpg --export-secret-keys YOUR-KEY-ID > private.key
gpg --export YOUR-KEY-ID > public.key
scp private.key [email protected]:/path/to/keydir
scp public.key [email protected]:/path/to/keydir

这里,YOUR-KEY-ID​是你的GPG密钥ID。user​ 是恢复服务器的用户名,recovery.server​ 是恢复服务器的地址,/path/to/keydir​ 是存放密钥文件的目录。

数据备份

增量备份

Duplicity默认进行增量备份。这意味着在首次备份全部数据后,之后的备份只会备份自上次备份以来更改过的文件,大幅节省存储空间和网络带宽:

duplicity /var/www/html scp://[email protected]//backup

这里,user​和backup.server​需替换为实际的用户名和备份服务器地址。

需要注意:命令使用双斜杠是因为SCP路径的特殊性。 //表示这是一个绝对路径 ,//backup指的是根目录下的 "backup" 文件夹,即/backup目录,如果这里用单斜杆/ 那么 /home 指的则是用户的 home 目录下的 "backup" 文件夹 。这个规则在SCP和RSYNC中都适用。

定期全量备份

尽管增量备份很有用,但定期进行全量备份可以降低数据恢复的复杂性。以下命令会在距离上次全量备份超过30天时,自动执行全量备份:

duplicity --full-if-older-than 30D /var/www/html scp://[email protected]//backup

定期删除过期备份

为有效管理存储空间,我们需要定期删除过期的备份。以下命令将删除60天前的所有备份:

duplicity remove-older-than 60D scp://[email protected]//backup --force

数据恢复

要从备份中恢复数据,首先你需要在源服务器(或者任何你打算恢复数据的服务器)上导入之前用于加密备份的GPG密钥对,包括公钥和私钥:

gpg --import /path/to/keydir/private.key
gpg --import /path/to/keydir/public.key

接着,使用Duplicity进行数据恢复:

duplicity scp://[email protected]//backup /var/www/html

这将从备份服务器的/backup​目录恢复数据到本地的/var/www/html​目录。

写在最后

为什么是 Duplicity 而不是 rsync ?我们知道 rsync 在文件同步方面优秀,但其在备份中缺乏版本控制和错误检查,不能有效防止数据丢失。因此,我们建议备份关键数据时,考虑使用具备增量备份和数据加密功能的Duplicity、BorgBackup或类似工具,实现更安全、更有效的数据保护。


相关推荐

  1. Duplicacy CLI 快速入门指南
  2. CentOS 7 安装 Lsyncd 实现文件实时同步备份
  3. 使用MinIO Client客户端实时数据同步备份文件
  4. 通过 MinIO Server 搭建私有化对象存储服务
  5. 数据同步神器 - Syncthing使用教程(Resilio Sync 替代品)
  6. VerySync 微力同步 :国内能用的跨平台数据同步工具
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/5282.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。