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]。
标签:内存分配, 增量传输, 客户端加密, 数据备份, 文件同步, 系统工具, 网络传输