rsync 这个工具主要用来做什么?

更新时间

rsync 是一个开源的文件传输与同步工具,核心能力是快速增量传输:它只传输源和目标之间真正有差异的部分,而不是每次整份复制。它适用于本地目录之间的同步、通过 SSH 或 rsync 守护进程进行的远程同步,以及日常备份场景。rsync 以 GNU 通用公共许可证(GPL)发布,可自由获取,目前由 Andrew Tridgell 维护。

核心机制:为什么它“快”

rsync 的增量传输不是简单比较文件修改时间后整文件覆盖。在远程同步时,它采用一套差异算法:接收端把已有文件切成块并计算校验值,发送端据此判断哪些块需要传、哪些可以复用,最终只发送变化的数据块。因此对大文件做小幅修改后再次同步,传输量远小于文件本身。

一个贴切的例子:一个 1 GB 的日志归档每天追加少量内容,用 rsync 同步到备份机时,实际传输的通常只是新增和变化的部分,而不是每天重传 1 GB。

典型使用场景

  • 本地同步与备份:把工作目录镜像到另一块磁盘,配合删除选项可保持两边一致。
  • 远程同步:通过 SSH 通道在服务器之间或本机与服务器之间同步文件。
  • 守护进程模式:以服务方式对外提供同步入口,适合多客户端定期拉取或推送。
  • 镜像与分发:站点、软件仓库等需要保持多份副本一致的场景。

版本与安全提示

根据官网发布信息,当前版本线包括:

版本 发布时间 说明
3.5.1 2026 年 9 月 21 日 修复 3.5.0 之后报告的回归问题,新增协议 33,用于新的逻辑块统计
3.5.0 2026 年 8 月 13 日 重大安全版本,修复 33 个安全问题,官方建议所有用户升级
3.4.4 2026 年 6 月 8 日 修复 3.4.3 安全版本引入的回归问题

官网同时说明,3.4.3 因测试覆盖不足和安全版本难以广泛 beta 测试而出现较多回归,为此 3.5 大幅扩充了测试套件并扩大了开发团队。对使用者的直接含义是:优先使用 3.5.1 或更新的版本,避免停留在存在已知安全问题的旧版本上。

获取方式与文档入口

官网提供源码 tar 包及对应的签名文件、相邻版本之间的 diff 包,以及以下手册页:

  • rsync(1):命令用法与选项
  • rsync-ssl(1):加密连接相关用法
  • rsyncd.conf(5):守护进程配置
  • rrsync(1):受限 rsync 封装工具

站点还设有 FAQ、示例(examples)、邮件列表、缺陷跟踪和调试等栏目,遇到具体问题时可按这些入口查找。

选择前的判断条件

如果你需要的是“只传变化、可反复执行、支持本地和远程”的文件同步与备份工具,rsync 是合适的选择,且开源免费。若你的需求是块级磁盘镜像、实时双向同步或图形化操作,则需要评估其他工具或在其上叠加方案。部署前建议确认目标机器上的 rsync 版本,并优先选用已修复安全问题的版本。