RsyncProject/rsync
GitHub: RsyncProject/rsync
Rsync 是一款基于增量传输算法的快速文件复制与同步工具,解决本地及远程场景下大文件高效传输与备份问题。
Stars: 5040 | Forks: 572
## 什么是 RSYNC?
Rsync 是一个快速且极其通用的文件复制工具,适用于
远程和本地文件。
Rsync 使用 delta-transfer 算法,该算法提供了一种非常快速的方法
来实现远程文件同步。它通过仅发送
跨链路的文件差异来实现这一点,而不需要
链路两端都存在这两套文件。乍
看起来这似乎是不可能的,因为计算
两个文件之间的差异通常需要对两个文件进行本地访问。
本软件包中包含一份描述 rsync 算法的
技术报告。
## 用法
基本上,你可以像 scp 一样使用 rsync,但 rsync 有许多额外的
选项。要获取受支持选项的完整列表,请输入:
```
rsync --help
```
请参阅 [manpage][0] 以获取更详细的信息。
## 构建与安装
如果你需要自行构建 rsync,请查看 [INSTALL][1] 页面以
了解有关可以使用哪些库和包来在你的构建中
实现最大功能的信息。
## 设置
Rsync 通常使用 ssh 或 rsh 与远程系统进行通信。
它不需要 setuid,也不需要
特殊的安装权限。但是,你
必须拥有一个正常工作的 ssh 或 rsh 系统。
建议使用 ssh,因为它具有安全特性。
或者,rsync 可以在 `daemon` 模式下运行,监听 socket。
这通常用于公共文件分发,尽管
也提供了身份验证和访问控制。
要安装 rsync,首先运行 "configure" 脚本。这将创建一个
适合你系统的 Makefile 和 config.h。然后输入 "make"。
请注意,在某些系统上,你必须强制 configure 不使用
gcc,因为 gcc 可能不支持你的系统
支持的某些特性(例如 64 位文件
偏移量)。在这种情况下,在运行 configure 之前,
请将环境变量 CC 设置为你本机编译器的名称。
构建完成后,在本地和
远程系统上的搜索路径中放置一份 rsync 副本(或使用 "make install")。就这些!
## RSYNC DAEMONS
Rsync 还可以与提供匿名或
身份验证 rsync 的 "rsync daemons" 进行通信。有关如何
设置 rsync daemon 的详细信息,请参阅 rsyncd.conf(5) manpage。有关如何
连接到 rsync daemon 的信息,请参阅 rsync(1) manpage。
## 网站
欲了解更多信息,请访问 [主要 rsync 网站][2]。
你将找到 FAQ 列表、下载、资源、HTML 版本的
manpages 等。
## 邮件列表
有一个用于讨论 rsync 及其应用程序的邮件列表,
对任何人开放加入。新版本
会在此列表上公布,此外还有一个仅
用于公告的邮件列表,供那些
需要官方公告的人使用。请参阅 [邮件列表页面][3] 以获取完整的
详细信息。
## DISCORD
还有一个用于讨论 rsync 及其开发相关实时聊天的 rsync [Discord 服务器][d]。
## BUG 报告
[bug 跟踪网页][4] 包含了有关 bug 报告的完整详细信息。
该页面包含指向当前 bug 列表的链接,以及有关如何
在报告 bug 时做好工作的信息。你可能还想尝试
在互联网上搜索你收到的错误信息,或者查看
[邮件列表归档][5]。
要发送 bug 报告,请遵循网站上 bug 跟踪
页面上的说明。
或者,将你的 bug 报告发送电子邮件至 。
对于安全问题,请将有关该问题的详细信息发送电子邮件至 。
## GIT 仓库
如果你想直接从
源代码仓库获取最新版本的 rsync,那么你需要使用 git。该 git 仓库
托管 [在 GitHub 上][6] 并且 [在 Samba 的网站上][7]。
请参阅 [下载页面][8] 以获取有关获取
源代码的所有方式的完整详细信息。
## 版权
Rsync 最初由 Andrew Tridgell 和 Paul Mackerras 编写。来自
世界各地的许多人都帮助维护和改进了它。
Rsync 只能在 GNU General Public License 条款下使用、修改和重新分发,该许可证可在本
分发的 [COPYING][9] 文件中找到,或访问 [Free Software Foundation][10]。
标签:内存分配, 增量传输, 客户端加密, 数据备份, 文件同步, 系统工具, 网络传输