概述
本章,您将了解到 Rsync 基本信息。
备份
在具体说明 rsync 之前,需要先了解下备份的概念、分类以及实现方式。
备份:指的是将文件系统或数据库系统中的数据复制到另外一个独立的存储介质中,以此防范原始数据因误删、硬件故障、病毒攻击等意外情况丢失或损坏,后续可通过备份副本快速恢复有效数据,保障业务正常运行。
常见的备份分类有:
-
按照备份对象划分
- 系统备份 - 提前完整备份操作系统,当系统文件损坏无法启动时,可通过备份快速恢复所需的环境
-
数据备份 - 针对文件、数据库、应用程序等业务数据进行的备份,用于数据丢失后的精准恢复
- 选择性备份 - 也是数据备份的一种,指对业务数据的一部分进行备份
-
按照备份内容划分
- 全量备份(Full backup) - 在特定时间点内对所有数据进行完整复制,备份文件占用空间大且备份数据耗时久,但恢复最便捷
- 增量备份(incremental backup) - 仅备份上一次全量或增量备份后新增、修改的部分,备份速度快、占用空间小,但恢复时需要叠加多份备份副本
- 差异备份(Differential backup) - 在一次全量备份后,仅备份自该次全量备份以来新增或修改的数据。恢复时只需 全量 + 最新一次差异备份即可,比增量备份恢复步骤少,但备份体积随时间增长比增量备份大
-
按照运行状态划分
- 冷备份 - 操作系统或应用程序处于停机或维护状态下的备份。备份的数据与系统中此时段的数据完全一致
- 热备份 - 操作系统或应用程序处于正常运转状态下的备份。由于操作系统或应用程序正在运行,因此数据在随时更新,这也导致了备份数据相对于系统的真实数据有一定的滞后性
主流备份的实现方式有:
- 本地介质备份 - 将数据定期复制到移动硬盘、磁带库、本地独立磁盘等存储设备中
- 远程异地备份 - 将数据通过网络传输到另外一个远程备份中心,避免因为火灾、自然灾害、盗窃等造成数据丢失与服务中断
rsync 说明
在 GNU/Linux 中,本地介质备份的常见工具有:
tardddumpcp- ...
当您对本地已有数据进行备份时,备份文件可能存在于当前存储介质中,也可能存在于另外一个存储介质中。但是,无论是当前使用的存储介质,还是另外一个存储介质,它们本身都有可能损坏,为了防范这种情况,需要另外一种备份,即远程异地备份。
从另外一方面来说,生产环境中的数据量都特别大,若使用传统常见的工具,如:
- 使用
tar或cp等 - 会消耗大量的时间且占用系统的性能 - 使用
scp或sftp- 通过网络传输备份数据,会占用大量的网络带宽 - 其他工具 - 常要搭配
crontab计划任务一起使用,但crontab只能按固定周期盲目执行,无法感知数据变化,搭配传统工具时难以实现高效的增量备份
所以在生产环境下需要有一个工具满足以下条件:
- 通过网络传输进行备份
- 实时的数据文件同步
- 对系统资源占用较小且效率较高
Rsync 正是满足上述条件的理想工具,其使用 GNU 开源许可证协议,是一个快速增量备份工具,最新为 3.5.1 版本(2026-09-21),这是 官网。在平台支持上,支持绝大多数的类 Unix,不管是 GNU/Linux 还是 BSD 等都支持,Windows 平台下也有相关的 rsync 变体,比如 cwRsync。
初版的 Rsync 由澳大利亚程序员 Andrew Tridgell(没错,就是那位开发了 Samba 的程序员)进行开发与维护,2004 年至 2024 年由 Wayne Davison 维护,可以到 Github 项目地址 获取更多信息。
Rsync 的工作原理和特点
Rsync 能实现高效的单向数据同步,主要核心是 rolling checksum(滚动校验) 或 delta encoding(差分编码)算法,您可以到 Rsync 工作原理 和 Rsync 算法 了解更多信息。
Rsync 的主要特点有:
- 能以递归的方式更新整个目录
- 支持增量传输,节省带宽
- 传输时可压缩数据
- 支持匿名/认证同步
- 具有断点续传能力
- 能有选择的保留文件同步属性,比如硬链接、软链接、所有者、所属组、对应权限、修改时间等,可以保留其中的一部分属性
- 支持两种协议进行传输,一个是 SSH 协议,一个是 RSYNC 协议
从存储库安装 Rsync
安装比较简单,无论是 RL 8.x、RL 9.x 以及 RL 10.x,键入以下命令即可:
Shell > dnf -y install rsync
后面具体演示时再说明相关的命令选项与配置文件。










