我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用rsync来备份Linux 系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用rsync来备份Linux 系统

这篇文章主要介绍“如何使用rsync来备份Linux 系统”,在日常操作中,相信很多人在如何使用rsync来备份Linux 系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用rsync来备份Linux 系统”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

rsync 命令

Andrew Tridgell 和 Paul Mackerras 编写了 rsync ,***发布于 1996 年。它的目标是向另一台电脑同步文件。你注意到了他们为什么取这个名字了吗(remotely synchronize)?它是大多数发行版都提供的开源软件。

rsync 能够用于同步两个目录或目录树,无论它们是在同一个计算机上还是不同的计算机上,而且不仅如此,它还能做到更多。它创建或者更新的目录与源目录完全一样。新的目录不是以 tar 或 zip 等打包存储,而是普通的目录和文件,常见的 Linux 工具都能轻松访问,而这正是我所需要的。

rsync 的最重要的特性之一是它处理源目录被修改的已有文件的方式。它使用分块校验来比较源文件和目标文件,而不是从源把整个文件复制过去。如果两个文件所有块的校验和都相同,那么就不用传输数据。否则只有被改变的块被传输。这样节约了远程同步消耗的大量时间和带宽。比如,我***次使用 rsync 脚本来把我所有的主机备份到一个外接的大型 usb 硬盘上需要三个小时,因为所有的数据都需要传输过去。而接下来的备份需要的时间就只是 3 到 8 分钟,这取决于上次备份以来创建和改变了多少文件。我使用 time 命令来记录实际花费的时间。昨天晚上,我只花了三分钟来从六个远程系统和本地工作站备份大概 750 Gb 数据。实际上只有在白天改变的几百 Mb 数据需要备份。

下面的命令可以用来同步两个目录及其任意子目录的内容。也就是说,在新目录的内容和源目录同步完之后,它们的内容完全一样。

rsync -aH sourcedir targetdir

-a 选项表示归档模式,它会保持权限、所有关系和符号(软)链接。-H 选项用来保持硬链接。注意源目录和目标目录都可以在远程主机上。

假设昨天我们使用 rsync 同步了两个目录。今天我们想再同步一次,但是我们从源目录删除了一些文件。rsync 默认只复制新的和改变过的文件到新目录里,而不去改变新目录里被我们删除的文件,但是如果你想让那些在源目录里被删除的文件在新目录里也被删除,那么你可以加上 --delete 选项来删除。

另一个有趣的选项,也是我个人最喜欢的选项是 --link-dest,因为它极大地增加了 rsync 的能力和灵活性。--link-dest 使每日备份只花费很少的额外空间和很短的时间。

用这个选项指定前一天的备份目录,以及今天的备份目录,然后 rsync 会创建今天的新备份目录,并将昨天备份目录里的每一个文件在今天的备份目录中创建硬链接。现在我们在今天的备份目录中有一大堆指向昨天备份的硬链接。文件没有被重复创建,而是创建了一些硬链接。对于硬链接,在 Wikipedia 中有非常详细的描述。而在用昨天的备份目录文件的硬链接创建了今天的备份之后,rsync 和平常一样进行备份,如果在文件中检测到了变化,就不会做硬链接,而是从昨天的备份目录里复制一个文件的副本,再把源文件中变化的部分复制过去。(LCTT 译注:此处疑似原文表述不清,参见 generator.c 的 try_dests_reg 函数,先根据 match_level选择复制或者硬链接,而不是创建硬链接后再判断 match_level)

现在我们的命令类似于下面这样。

rsync -aH --delete --link-dest=yesterdaystargetdir sourcedir todaystargetdir

你也可能想要排除一些不想要备份的目录或者文件。那么就可以使用 --exclude 选项。用这个选项加上你想排除文件或目录的模式。你可以用下面的新命令来排除浏览器的缓存。

rsync -aH --delete --exclude Cache --link-dest=yesterdaystargetdir sourcedir todaystargetdir

注意:你想排除的每一个文件的模式前面都分别需要加上 --exclude 选项。

rsync 可以同步远程主机,无论是作为同步源头还是目标。再举一个例子,我们假设想要把名为 remote1 的远程主机的目录同步到本地。因为 ssh 作为与远程主机交换数据的默认协议,我一直使用 ssh 选项。现在命令类似于下面这样。

rsync -aH -e ssh --delete --exclude Cache --link-dest=yesterdaystargetdir remote1:sourcedir todaystargetdir

这就是我的 rsync 备份命令的最终版本。

你可以依靠 rsync 的大量选项来定制你的同步过程。大多数情况而言,我刚刚描述的简单命令就足以胜任我的个人需要。你可以阅读 rsync 丰富的文档来了解它的其他能力。

部署备份

我的备份自动运行因为—“万物皆可自动化”。我写了一个 BASH 脚本使用 rsync 创建每天的备份。包括确保备份介质被挂载,生成每天的备份目录的名字,以及在备份介质中创建合适的目录结构,***执行真正的备份再卸载备份介质。

我用 cron 每天早晨执行脚本确保我永远不会忘记备份。

我的脚本 rsbu 和配置文件 rsbu.conf 可以在 GitHub 上获取。

恢复测试

所有没有经过测试的备份计划都不完整的。你可以通过测试恢复某个文件或者整个目录,以确保备份在照常工作并且可以通过它来在数据全部丢失后恢复。我见过太多备份由于种种理由失败,以及由于缺乏测试忽略的问题导致宝贵的数据被丢失。

选择一个文件恢复到比如 /tmp 的测试目录,这样你就不会覆盖任何备份后被更新的文件。验证文件的内容是否是你预期的。恢复用 rsync 备份的文件仅仅只是找到你的备份文件然后把它复制到你想恢复的地方去那样简单。

我有几次不得不恢复我的个人文件,偶尔是整个目录。大多数是自己意外删除了文件或者目录。有几次是因为硬盘崩溃。这些备份迟早会派上用场。

***一步

但仅仅创建备份并不能拯救你的业务,你需要定期的地创建备份,使最近的一次备份储存在另一台远程机器上,如果有可能,放在另外一个建筑物中或几英里之外。这样可以确保大规模的灾难不会摧毁你的所有备份。

对于小型企业的一个合理选择是在可移动介质上做每日备份,晚上把***的备份带回家里,第二天早上把更早的备份带到办公室。你就会有几个轮流的拷贝。甚至可以把***的备份带到银行并放到你的保管箱里,然后带回之前的备份。

到此,关于“如何使用rsync来备份Linux 系统”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用rsync来备份Linux 系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用rsync来备份Linux 系统

这篇文章主要介绍“如何使用rsync来备份Linux 系统”,在日常操作中,相信很多人在如何使用rsync来备份Linux 系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用rsync来备份Linux
2023-06-16

如何使用rsync备份数据

这篇文章主要为大家展示了“如何使用rsync备份数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用rsync备份数据”这篇文章吧。rsync是一款实现远程同步功能的软件,在同步文件的同时
2023-06-28

如何使用dd命令备份Linux系统

这篇文章给大家分享的是有关如何使用dd命令备份Linux系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。dd,是 device driver 的缩写,它可以称得上是“Linux 世界中的搬运工”,它用来读取设备
2023-06-28

Linux下使用Rsync完成自动化备份

1.将基础环境搭配好,挂载dvd,配置dvd.repo,清楚缓存,关闭防火墙(两台主机都要做)查看rsync的版本2.创建stor目录,并将目录下的dvd文件复制到stor中3.查看压缩包,并将压缩包传输到另一台主机上4.在另一台主
2022-06-04

使用OneKey如何备份系统

使用OneKey如何备份系统 ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方法/步骤第一步:用U盘启动大师进入PE系统后,在桌面鼠标双击OneKey Ghost则打开了此
2023-06-13

如何安装Aptik来备份Ubuntu系统

这篇文章主要讲解了“如何安装Aptik来备份Ubuntu系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何安装Aptik来备份Ubuntu系统”吧!当你想重装Ubuntu或者仅仅是想安装
2023-06-13

如何使用backupninja备份Debian系统

这篇文章主要讲解了“如何使用backupninja备份Debian系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用backupninja备份Debian系统”吧!安装 Backup
2023-06-13

linux系统如何使用rsync进行文件同步

小编给大家分享一下linux系统如何使用rsync进行文件同步,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Rsync 是一个远程数据同步工具,可通过 LAN/W
2023-06-28

Linux系统如何使用dd命令进备份数据

这篇文章主要介绍了Linux系统如何使用dd命令进备份数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。例 1:备份整个硬盘使用dd命令备份整个硬盘。在这个例子中,源硬盘的设
2023-06-28

如何用ghost备份系统

要使用Ghost备份系统,您需要按照以下步骤操作:1. 下载并安装Ghost软件:首先,您需要从Symantec官方网站或其他可信的软件下载站点下载并安装Ghost软件。请确保您下载的是最新版本,并且与您的操作系统兼容。2. 准备备份介质:
2023-08-21

如何使用Linux的rsync

目录一、简介二、安装三、基本用法3.1、-r参数3.2、-a参数3.3、-n参数3.4、--delete 参数四、排除文件4.1、--exclude 参数4.2、--include 参数五、远程同步5.1、SSH 协议5.2、rsync 协
2022-06-03

怎么在Linux中使用Rsync实现自动化备份

本篇文章为大家展示了怎么在Linux中使用Rsync实现自动化备份,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.将基础环境搭配好,挂载dvd,配置dvd.repo,清楚缓存,关闭防火墙(两台主机
2023-06-09

Linux下如何使用tar命令备份和还原系统

这篇文章主要介绍了Linux下如何使用tar命令备份和还原系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux上有功能强大的tar命令,tar最初是为了制作磁带备份(
2023-06-27

如何配置RSync文件备份同步Linux服务器

这篇文章主要介绍“如何配置RSync文件备份同步Linux服务器”,在日常操作中,相信很多人在如何配置RSync文件备份同步Linux服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何配置RSync文件
2023-06-12

linux怎么使用rsync的高级用法进行大型备份

这篇文章给大家分享的是有关linux怎么使用rsync的高级用法进行大型备份的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。基础的 rsync 命令通常足够来管理你的 Linux 备份,但是额外的选项使大型备份集更
2023-06-16

如何备份Ubuntu系统

这篇文章主要讲解了“如何备份Ubuntu系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何备份Ubuntu系统”吧!  1.在桌面环境,打开你的移动硬盘  查看磁盘所在盘符:df -ah
2023-06-13

如何使用rsync备份文件/目录到Linux服务器上的Shell脚本

这篇文章将为大家详细讲解有关如何使用rsync备份文件/目录到Linux服务器上的Shell脚本,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用该脚本会以交互的方式实施备份,你需要提供远程
2023-06-28

Win8系统如何备份 Windows8备份系统(图文教程)

随着微软最新Win8系统上市,很多电脑朋友都将电脑升级到了最新的Win8,以获得更好的系统体验,另外不少朋友购买的新电脑,则也开始普遍是Win8系统电脑,对于Win8系统最麻烦的莫过于安装系统需要获取密钥,一旦系统出问题,重新安装都要输入,
2022-06-04

Win8.1系统如何使用自带映像备份功能进行备份?

操作步骤: 1、首先打开控制面板—系统与安全–历史文件记录(通过历史文件记录保存你的历史文件副本)。2、左下角就有“系统映像恢复”的按钮了,点开; 3、选择备份的位置,其中系统会提示你建议保存
2022-06-04

怎么在linux系统中使用rsync命令

本篇文章为大家展示了怎么在linux系统中使用rsync命令,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Rsync的命令格式可以为以下六种:   rsync [OPTION]... SRC DES
2023-06-13

编程热搜

目录