返回顶部
首页 > 资讯 > 操作系统 >linux中如何使用rdiff-backup
  • 268
分享到

linux中如何使用rdiff-backup

2023-06-16 13:06:35 268人浏览 八月长安
摘要

这篇文章主要介绍了linux中如何使用rdiff-backup,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。rdiff-backup 是一个用于本地/远程增量备份的强大而易用

这篇文章主要介绍了linux中如何使用rdiff-backup,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

rdiff-backup 是一个用于本地/远程增量备份的强大而易用的 python 脚本,它适用于任何 POSIX 操作系统,如Linux、Mac OS  X 或 Cygwin。它集合了镜像和增量备份的显著特性。

值得注意的是,它保留了子目录、dev 文件、硬链接,以及关键的文件属性,如权限、uid/gid 所有权、修改时间、扩展属性、acl 以及 resource  fork。它可以通过管道以高效带宽的模式工作,这与流行的 rsync 备份工具类似。

rdiff-backup 通过使用 ssh  将单个目录备份到另一个目录,这意味着数据传输被加密并且是安全的。目标目录(在远程系统上)最终会得到源目录的完整副本,但是此外的反向差异会存储在目标目录的特殊子目录中,从而可以恢复前一段时间丢失的文件。

依赖

要在 Linux 中使用 rdiff-backup,你需要在系统上安装以下软件包:

  • Python v2.2 或更高版本

  • librsync v0.9.7 或更高版本

  • pylibacl 和 pyxattr Python 模块是可选的,但它们分别是 POSIX 访问控制列表(ACL)和扩展属性支持必需的。

  • rdiff-backup-statistics 需要 Python v2.4 或更高版本。

如何在 Linux 中安装 rdiff-backup

重要:如果你通过网络运行它,则必须在两个系统中都安装 rdiff-backup,两者***是相同版本。

该脚本已经存在于主流 Linux 发行版的官方仓库中,只需运行以下命令来安装 rdiff-backup 及其依赖关系:

在 Debian/Ubuntu 中

$ sudo apt-get update $ sudo apt-get install librsync-dev rdiff-backup

在 CentOS/RHEL 7 中

# wget Http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm # rpm -ivh epel-release-7-9.noarch.rpm # yum install librsync rdiff-backup

在 CentOS/RHEL 6 中

# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm # yum install librsync rdiff-backup

在 Fedora 中

# yum install librsync rdiff-backup # dnf install librsync rdiff-backup [Fedora 22+]

如何在 Linux 中使用 rdiff-backup

如前所述,rdiff-backup 使用 SSH 连接到网络上的远程计算机,SSH 的默认身份验证方式是用户名/密码,这通常需要人工交互。

但是,要自动执行诸如脚本等自动备份之类的任务,那么你需要配置使用 SSH 密钥无密码登录 SSH,因为 SSH 密钥增加了两台  Linux服务器之间的信任来简化文件同步或传输。

在你设置了 SSH 无密码登录后,你可以使用下面的例子开始使用该脚本。

备份文件到不同分区

下面的例子会备份 /etc 文件夹到另外一个分区的 Backup 文件夹内:

$ sudo rdiff-backup /etc /media/aaronkilik/Data/Backup/mint_etc.backup

linux中如何使用rdiff-backup

备份文件到不同分区

要排除一个特定文件夹和它的子目录,你可以如下使用 --exclude 选项:

$ sudo rdiff-backup --exclude /etc/cockpit --exclude /etc/bluetooth /media/aaronkilik/Data/Backup/mint_etc.backup

我们可以如下使用 --include-special-files 包含所有的设备文件、fifo 文件、Socket 文件和链接文件:

$ sudo rdiff-backup --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup

还有另外两个重要标志来用于选择文件,--max-file-size 用来排除大于给定字节大小的文件,--min-file-size  用于排除小于给定字节大小的文件:

$ sudo rdiff-backup --max-file-size 5M --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup

在本地 Linux 服务器上备份远程文件

要这么做,我们使用:

Remote Server (tecmint)         : 192.168.56.102  Local Backup Server (backup)    : 192.168.56.10

如前所述,你必须在两台机器上安装相同版本的 rdiff-backup,如下所示,请尝试在两台机器上检查版本:

$ rdiff-backup -V

linux中如何使用rdiff-backup

检查服务器中 rdiff 版本

在备份服务器中,像这样创建一个存储备份文件的目录:

# mkdir -p /backups

现在在备份服务器中,运行下面的命令来将远程 Linux 服务器 192.168.56.102 中的 /var/log/ 和 /root 备份到  /backups 中:

# rdiff-backup root@192.168.56.102::/var/log/ /backups/192.168.56.102_logs.backup # rdiff-backup root@192.168.56.102::/root/ /backups/192.168.56.102_rootfiles.backup

下面的截图展示了远程服务器 192.168.56.102 中的 root 文件夹以及 192.168.56.10 备份服务器中的已备份文件:

linux中如何使用rdiff-backup

在本地服务器备份远程目录

注意截图中 “backup” 目录中创建的 rdiff-backup-data 文件夹,它包含了备份过程和增量文件的重要数据。

linux中如何使用rdiff-backup

rdiff-backup – 备份过程文件

现在,在 192.168.56.102 服务器中,如下所示 root 目录已经添加了额外的文件:

linux中如何使用rdiff-backup

验证备份目录

让我们再次运行备份命令以获取更改的数据,我们可以使用 -v[0-9](其中数字指定详细程度级别,默认值为 3,这是静默模式)选项设置详细功能:

# rdiff-backup -v4 root@192.168.56.102::/root/ /backups/192.168.56.102_rootfiles.backup

linux中如何使用rdiff-backup

带有摘要的增量备份

要列出 /backups/192.168.56.102_rootfiles.backup 目录中包含的部分增量备份的数量和日期,我们可以运行:

# rdiff-backup -l /backups/192.168.56.102_rootfiles.backup/

使用 cron 自动进行 rdiff-back 备份

使用 --print-statistics 成功备份后,我们可以打印摘要统计信息。但是,如果我们不设置此选项,我们可以仍从会话统计中获得。在手册页的  “STATISTICS” 部分中阅读有关此选项的更多信息。

-remote-schema 选项使我们能够指定使用替代方法连接到远程计算机。

现在,我们开始在备份服务器 192.168.56.10 上创建一个 backup.sh 脚本,如下所示:

# cd ~/bin # vi backup.sh

添加下面的行到脚本中。

#!/bin/bash #This is a rdiff-backup utility backup script #Backup command rdiff-backup --print-statistics --remote-schema 'ssh -C %s "sudo /usr/bin/rdiff-backup --server --restrict-read-only  /"'  root@192.168.56.102::/var/logs  /backups/192.168.56.102_logs.back #Checking rdiff-backup command success/error status=$? if [ $status != 0 ]; then #append error message in ~/backup.log file echo "rdiff-backup exit Code: $status - Command Unsuccessful" >>~/backup.log; exit 1; fi #Remove incremental backup files older than one month rdiff-backup --force --remove-older-than 1M /backups/192.168.56.102_logs.back

保存文件并退出,接着运行下面的命令在服务器 192.168.56.10 上的 crontab 中添加此脚本:

# crontab -e

添加此行在每天午夜运行你的备份脚本:

0   0  *  *  * /root/bin/backup.sh > /dev/null 2>&1

保存 crontab 并退出,现在我们已经成功自动化了备份过程。确保一切如希望那样工作。

阅读 rdiff-backup 的手册页获取更多信息、详尽的使用选项以及示例:

# man rdiff-backup

感谢你能够认真阅读完这篇文章,希望小编分享的“linux中如何使用rdiff-backup”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网操作系统频道,更多相关知识等着你来学习!

--结束END--

本文标题: linux中如何使用rdiff-backup

本文链接: https://www.lsjlt.com/news/283821.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux中如何使用rdiff-backup
    这篇文章主要介绍了linux中如何使用rdiff-backup,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。rdiff-backup 是一个用于本地/远程增量备份的强大而易用...
    99+
    2023-06-16
  • Linux怎么使用backup-manager工具备份系统
    本篇内容介绍了“Linux怎么使用backup-manager工具备份系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  只有在电脑出了问...
    99+
    2023-06-13
  • linux中如何使用sar
    小编给大家分享一下linux中如何使用sar,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在使用UNIX操作系统的过程中,我们常常会用到各种各样的问题,比如系统运...
    99+
    2023-06-09
  • Linux中Dropbox如何使用
    Linux中Dropbox如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Dropbox是一款非常好用的免费网络文件同步工具,是Dropbox公司运行的在...
    99+
    2023-06-12
  • linux中如何使用awk
    这篇文章给大家分享的是有关linux中如何使用awk的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。awk 是用于 Unix 和类 Unix 系统的强大文本解析工具,但是由于它有可编程函数,因此你可以用它来执行常规...
    99+
    2023-06-16
  • Linux中如何使用Neofetch
    这篇文章主要为大家展示了“Linux中如何使用Neofetch”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何使用Neofetch”这篇文章吧。Neofetch 是一个简单但有用的...
    99+
    2023-06-16
  • linux中如何使用Fish
    这篇文章主要介绍了linux中如何使用Fish,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Fish(友好的交互式 shell)是一个智能且用户友好的命令行 shell,可在...
    99+
    2023-06-16
  • Linux中如何使用Pekwm
    这篇文章主要为大家展示了“Linux中如何使用Pekwm”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何使用Pekwm”这篇文章吧。假设你想要一个轻量级桌面环境,它只需要能在屏幕上...
    99+
    2023-06-16
  • linux中如何使用TLP
    这篇文章将为大家详细讲解有关linux中如何使用TLP,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。TLPTLP 是一款自由开源的高级电源管理工具,可在不进行任何配置更改的情况下延长电池寿命。由于它的默认...
    99+
    2023-06-16
  • linux中如何使用psdash
    这篇文章将为大家详细讲解有关linux中如何使用psdash,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。psdash 是一款查看 Linux 系统信息的 web 面板,和我们以前提到的另一款系...
    99+
    2023-06-16
  • Linux中如何使用vmstat
    这篇文章将为大家详细讲解有关Linux中如何使用vmstat,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是 vmstatvmstat是一个提供报告虚拟内存统计的工具。它包括了系统内存、交换和实时处理...
    99+
    2023-06-16
  • Linux中如何使用Powerline
    这篇文章主要介绍了Linux中如何使用Powerline,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Powerline 是一个极棒的 Vim 编辑器的状态行插件,这个插件是...
    99+
    2023-06-16
  • linux中如何使用sshpass
    这篇文章给大家分享的是有关linux中如何使用sshpass的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在大多数情况下,Linux 系统管理员使用 SSH 登录到程 Linux 服务器时,要么是通过密码,要么是...
    99+
    2023-06-16
  • linux中如何使用Dukto
    这篇文章将为大家详细讲解有关linux中如何使用Dukto,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Dukto是一款免费的开源文件传输实用工具,它可以用来通过局域网来传输文件。有了它,我们就可以更轻松...
    99+
    2023-06-16
  • linux中如何使用Googler
    这篇文章主要介绍了linux中如何使用Googler,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Googler:在你 linux 终端下的 googleGoogler 是一...
    99+
    2023-06-16
  • linux中如何使用Sysstat
    小编给大家分享一下linux中如何使用Sysstat,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Sysstat的功能列表:◆iostat:统计并报告你的设备的CPU状态和I/O状态数据。◆mpstat:监控和显示关于CP...
    99+
    2023-06-16
  • linux中如何使用CoreFreq
    这篇文章主要为大家展示了“linux中如何使用CoreFreq”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中如何使用CoreFreq”这篇文章吧。CoreFreq 是一个用于英特尔 ...
    99+
    2023-06-16
  • linux中如何使用Sysget
    小编给大家分享一下linux中如何使用Sysget,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装 Sysget安装 Sysget 很简单。 转到发布页面并下载...
    99+
    2023-06-16
  • Linux中如何使用sudo
    小编给大家分享一下Linux中如何使用sudo,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!sudo 机制可以让你轻松以普通用户偶尔执行管理任务。你可能一直想了解...
    99+
    2023-06-16
  • linux中如何使用Sosreport
    这篇文章将为大家详细讲解有关linux中如何使用Sosreport,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Sosreport  :一个可扩展、可移植的支持数据收集工具。它是一个从类 Uni...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作