FreeBSD 下使用 rsync(一):rsync 是什么,它解决什么问题

一、什么是 rsync

rsync(Remote Sync)是一款开源的文件同步与传输工具,最早由 Andrew Tridgell 于 1996 年发布,目前由 Samba 团队维护,官网为 rsync.samba.org。它的核心能力是:在两台机器(或同一个机器的两个目录)之间,只传输发生变化的部分,而不是整体拷贝。

在 FreeBSD 上,rsync 既可以通过包管理器安装,也可以在系统基础组件里找到一个名为 openrsync 的轻量实现(FreeBSD 13 起随 base 系统提供)。两者命令都叫 rsync,但功能范围不同,后文安装章节会专门说明。

二、rsync 解决的核心问题

设想你要每天把一台 FreeBSD 服务器的 /usr/local/www 备份到另一台机器。用 scpcp 的话,每次都要把全部文件重新传一遍;而用 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
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容