rdiff-backup - Linux的本地和远程备份工具

时间:2020-03-05 15:29:14  来源:igfitidea点击:

RDIFF备份工具是一个简单且强大的备份工具,可用于本地或者远程备份数据。

它是用Python编写的跨平台工具,它适用于Linux,MacOS甚至FreeBSD。
像rsync一样的rdiff-backup,主要是一个反向增量备份工具,可以将与上一个备份的差异更新到下一个备份,并确保我们获得最新备份。
此外,我们可以轻松恢复备份并访问文件。
在本教程中,我们将学习如何为Linux安装RDIFF备份本地和远程备份工具。

RDIFF-Backup工具使用SSH协议通过网络备份目录。
由于SSH协议,这提供了安全安全和安全的数据传输。
远程系统结束了源目录的副本,后续备份逐步同步。
没有太多进一步的ADO,让我们潜入并看看如何使用该工具。

如何安装rdiff-backup工具

我们可以使用各自的包管理器在各种Linux发行版中安装RDiff-Backup工具。
最新版本是版本2. x。
但在我们安装之前,我们需要在Linux系统上需要一些依赖项。

依赖性

最新的RDIFF备份工具要求我们有以下准备工作:

  • Python 3.6和更高版本
  • Librsync 1.0.0及更高版本
  • Pylibacl(这是可选的,但方便支持ACL)
  • pyxattr(用于扩展属性支持)
  • 无密码SSH配置为目标系统(对于远程

在Ubuntu 20.04或者Debian Buster上

对于Ubuntu 20. 04和最新的Debian版本,请使用命令安装最新的RDiff-Backup工具。

$sudo apt install rdiff-backup

这与所有依赖项一起安装RDiff-Backup工具。

要验证已安装的RDIFF版本,请调用命令:

$rdiff-backup -V

ubuntu/debian的旧版本

对于旧版本,请使用Ubuntu Backports

$sudo apt install software-properties-common
$sudo add-apt-repository ppa:rdiff-backup/rdiff-backup-backports

更新系统包并安装RIDFF-BACKUP工具,如图所示

$sudo apt update
$sudo apt install rdiff-backup

在CentOS 8/Rhel 8

对于CentOS 8 RHEL 8,首先,启用COPR存储库。
COPR的COOL其他软件包缩短,COPR是一个Fedora项目,旨在提供一种简单的建设和管理第三方存储库的方法。

$sudo dnf install yum-plugin-copr epel-release
$sudo dnf copr enable frankcrawford/rdiff-backup

添加了存储库后,请按照显示安装RDIFF备份工具:

$sudo dnf --enablerepo=PowerTools install rdiff-backup

在CentOS 7/Rhel 7

同样,在CentOS 7/RHEL上,我们需要在安装RDIFF备份工具之前启用COPR存储库。

$sudo yum install yum-plugin-copr epel-release
$sudo yum copr enable frankcrawford/rdiff-backup
$sudo yum install rdiff-backup
$sudo yum install py3libacl pyxattr => This is optional

在Fedora 32及以后

$sudo dnf install rdiff-backup

对于旧版本的Fedora调用以下命令:

$sudo dnf install python3-pip python3-setuptools py3libacl python3-pyxattr
$sudo pip3 install rdiff-backup

其他Linux发行版

对于Linux Distr,我们可以使用PYPI(Python Package Index)存储库使用PIP3包管理器安装RDiff-Backup工具,如图所示:

$curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$sudo python3 get-pip.py
$sudo pip3 install rdiff-backup

如何使用rdiff-backup工具

如前所述,RDIFF备份命令行工具依赖于SSH服务以在远程目标上连接和备份目录。
但是,如我们所知,SSH的默认身份验证是用户名/密码方法。
这需要直接用户输入。
对于RDIFF备份,这不是所需的身份验证类型。
为了自动化备份并享受更平滑的和无缝体验,我们需要配置SSH无密码登录。

这使使用SSH键启用登录,这是一种更安全和更方便的文件同步方式或者Linux系统之间传输。

制作一个本地备份

RDIFF-BACKUP命令的最简单和基本使用是创建目录的本地备份。
我们可以如图所示备份到同一系统上的不同路径的目录。

$sudo rdiff-backup  foo  bar

foo是要备份的文件夹和bar是备份目录。

让我们举个例子。
我有一个名为"报告"的目录,其中包含了文本文件,如图所示。

我创建了一个备份目录/opt/backup,其中将备份文件。

$sudo mkdir -p /opt/backup

要将"报告"文件夹备份到"/opt/backup"目录,请运行命令:

$sudo rdiff-backup reports /opt/backup

注意到在过程中生成的"RDIFF备份数据"目录。
此目录包含与备份日志等备份过程有关的重要文件。

从本地备份恢复数据

我们已经看到了如何在本地系统上本地备份目录。
但是,让我们假设我们意外删除了报告目录,或者它已被损坏。
要从"/opt/backup"路径中的备份目录中还原目录,请运行命令:

$sudo cp -a /opt/backup  reports

将目录备份到远程Linux系统

要将目录备份到远程服务器,请先确保在两个系统上安装RDIFF备份,并且两个版本的RDIFF备份是相同的。

如上所述,我们可以使用该命令跨越RDIFF备份的版本:

$rdiff-backup -V

我们有2个Ubuntu 20. 04 LTS服务器如图所示:

Ubuntu remote server -  173.82.187.242
Ubuntu backup server -  173.82.155.215

备份是从备份服务器完成的。
在此示例中,我们将从位于/var/log路径的远程服务器备份日志文件。
为实现此目的,我们需要首先登录备份服务器。

$ssh [email protected]

然后我们将执行以下命令:

$rdiff-backup [email protected]::/var/log//opt/logs_backup/

排除备份目录

要从备份中排除一个目录,请使用如下所示的--exclude标志:

$rdiff-backup --exclude /etc/apt [email protected]::/var/log//opt/logs_backup/