rdiff-backup - Linux的本地和远程备份工具
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/