一、什么是 rsync
rsync(Remote Sync)是一款开源的文件同步与传输工具,最早由 Andrew Tridgell 于 1996 年发布,目前由 Samba 团队维护,官网为 rsync.samba.org。它的核心能力是:在两台机器(或同一个机器的两个目录)之间,只传输发生变化的部分,而不是整体拷贝。
在 FreeBSD 上,rsync 既可以通过包管理器安装,也可以在系统基础组件里找到一个名为 openrsync 的轻量实现(FreeBSD 13 起随 base 系统提供)。两者命令都叫 rsync,但功能范围不同,后文安装章节会专门说明。
二、rsync 解决的核心问题
设想你要每天把一台 FreeBSD 服务器的 /usr/local/www 备份到另一台机器。用 scp 或 cp 的话,每次都要把全部文件重新传一遍;而用 rsync,第二次及以后只会传输当天新增或修改的文件块,几百 GB 的数据可能几秒钟就完成增量同步。
- 增量传输:只动”变了的那一点”,极大节省时间和带宽。
- 断点可续:网络中断后重跑,已传的部分不会重来。
- 属性保留:权限、属主、时间戳、符号链接等都能原样保留。
三、rsync 与同类工具的区别
| 工具 | 增量传输 | 加密 | 属性保留 | 典型用途 |
|---|---|---|---|---|
| cp | 否 | 不涉及 | 部分 | 本机整盘拷贝 |
| scp | 否 | 是(SSH) | 弱 | 偶尔传一两个文件 |
| ftp | 否 | 可选 | 弱 | 传统文件服务 |
| rsync | 是 | 支持(SSH/TLS) | 完整 | 备份、镜像、部署 |
四、rsync 在 FreeBSD 生态中的位置
FreeBSD 以”基础系统 + ports/packages”的清晰分层著称:
- base 系统:从 13.0 起内置
openrsync(轻量、协议兼容子集),适合简单同步,但缺少部分高级选项。 - ports / packages:完整版
rsync(来自 net/rsync),功能最全,是生产环境首选。
本系列后续所有”高级用法”(守护进程、ACL、扩展属性等)都基于完整版 rsync,安装方式详见本系列第三篇。
五、谁应该用 rsync
- 系统管理员:做服务器备份、网站发布、文件镜像。
- 开发者:在多台机器间同步代码与配置。
- 运维/DevOps:结合 cron 实现定时增量备份与异地容灾。
下一篇我们将详细盘点 rsync 相比其他方案到底有哪些优点。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END














暂无评论内容