這 Rdiff-備份 工具是一個簡單而強大的備份工具,可用於本地或遠程備份數據。 它是一個用 python 編寫的跨平台工具,適用於 Linux、macOS 甚至 FreeBSD。 rdiff-backup 和 rsync 一樣,主要是一種反向增量備份工具,它更新上一個備份到下一個備份的差異,並確保您獲得最新的備份。 此外,您可以輕鬆恢復備份並訪問您的文件。 在本指南中,您將學習如何安裝 Rdiff-backup – 適用於 Linux 的本地和遠程備份工具。
Rdiff-backup 工具使用 SSH 協議通過網絡備份目錄。 由於 SSH 協議,這提供了安全可靠的數據傳輸。 遠程系統以源目錄的副本結束,隨後的備份以增量方式同步。 事不宜遲,讓我們深入了解該工具是如何使用的。
如何安裝 Rdiff-backup 工具
您可以使用各自的包管理器在各種 Linux 發行版中安裝 rdiff-backup 工具。 最新版本是版本 2.x。 但是在我們安裝它之前,你需要對你的 Linux 系統有一些依賴。
依賴關係
最新的 Rdiff-backup 工具要求您具備以下先決條件:
- Python 3.6 及更高版本
- librsync 1.0.0 及更高版本
- pylibacl(這是可選的,但在支持 ACL 時派上用場)
- Pyxattr(用於擴展屬性支持)
- 配置到目標系統的無密碼 SSH(對於遠程
在 Ubuntu 20.04 或 Debian Buster 上
對於 Ubuntu 20.04 和最新的 Debian 版本,使用命令安裝最新的 Rdiff-backup 工具。
$ sudo apt 安裝 rdiff-backup
這會與所有依賴項一起安裝 rdiff-backup 工具。
要驗證安裝的 rdiff 版本,請調用以下命令:
$ rdiff-backup -V

舊版本的 Ubuntu/Debian
對於舊版本,請使用 Ubuntu 向後移植
$ 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 是一個 Fedora 該項目旨在提供一種構建和管理第三方存儲庫的簡單方法。
$ sudo dnf install yum-plugin-copr epel-release
$ sudo dnf copr enable frankcrawford/rdiff-backup
添加存儲庫後,安裝 Rdiff-backup 工具,如下所示:
$ sudo dnf --enablerepo=PowerTools install rdiff-backup
在 CentOS 7/RHEL 7 上
同樣,在 CentOS 7 / RHEL 上,您需要在安裝 Rdiff-backup 工具之前啟用 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 發行版,您可以使用 PyPI(Python 包索引)存儲庫中的 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-backup 命令行工具依賴 SSH 服務來連接和備份遠程目標上的目錄。 但是,如您所知,SSH 的默認身份驗證是用戶名/密碼方法。 這需要直接的用戶輸入。 對於 rdiff-backup,這不是所需的身份驗證類型。 要自動備份並享受更流暢無縫的體驗,您需要配置 SSH 無密碼登錄。 這允許使用 SSH 密鑰登錄,這是在 Linux 系統之間進行文件同步或傳輸的一種更安全、更方便的方式。
進行本地備份
rdiff-backup 命令最簡單和基本的用法是創建目錄的本地備份。 您可以將目錄備份到同一系統上的不同路徑,如圖所示。
$ sudo rdiff-backup foo bar
在哪裡 foo
是要備份的文件夾和 bar
是備份目錄。
讓我們來一個 example. 我有一個目錄叫 reports
包含如圖所示的文本文件。

我已經創建了一個備份目錄 /opt/backup
將備份文件的位置。
$ sudo mkdir -p /opt/backup
要備份 reports
文件夾到 /opt/backup
目錄,運行命令:
$ sudo rdiff-backup reports /opt/backup

請注意 rdiff-backup-data
過程中生成的目錄。 此目錄包含與備份過程相關的關鍵文件,例如備份日誌。

從本地備份恢復數據
我們已經看到瞭如何在本地系統上本地備份目錄。 但是讓我們假設我們不小心刪除了報告目錄或它已損壞。 從備份目錄中恢復目錄 /opt/backup
路徑,運行命令:
$ sudo cp -a /opt/backup reports
將目錄備份到遠程 Linux 系統
要將目錄備份到遠程服務器,首先要確保兩個系統上都安裝了 rdiff-backup,並且兩個版本的 rdiff-backup 相同。 . 如前所述,您可以使用以下命令交叉檢查 rdiff-backup 的版本:
$ rdiff-backup -V
我們有 2 個 Ubuntu 20.04 LTS 服務器,如圖所示:
Ubuntu remote server - 173.82.187.242
Ubuntu backup server - 173.82.155.215
備份是從備份服務器完成的。 在這 example,我們將從位於的遠程服務器備份日誌文件 /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/
包起來
與 rsync 不同,rdiff-backup 不會讀取目標上的整個文件,這會顯著減少目標上的磁盤 i/o,從而有助於提高備份速度。
Rsync 檢查源和目標上每個文件的元數據(時間戳、文件大小)以確定需要更新哪些文件。 其中 rdiff-backup 在目標上保留一個元數據文件,該文件跟踪每個文件的 sha1 校驗和。
我們已經結束了本教程。 在本指南中,您學習瞭如何安裝和使用 rdiff-backup – Linux 系統的本地和遠程備份工具。 備份目錄和文件,玩得開心。