rsync简介

2018-09-05 15:30:07 浏览数 (1)

Rsync是一个命令行实用程序,它将文件和文件夹从一个位置同步到另一个位置。可以使用rsync实现的一些工作流程是从开发计算机更新生产主机,或使用cron作业调用rsync以定期将数据备份到存储位置。您甚至可以使用rsync 将服务器从其他提供程序迁移到Linode。

Rsync是增量的,因此一旦初始操作完成,连续的备份操作就会很快完成。仅复制源文件和目标文件之间的差异。rsync的这一特性使其成为自动化操作的理想解决方案。

如何获得rsync?

Linux / Unix:默认情况下,并非所有* nix系统都包含rsync,但它可以从您的发行版的软件存储库安装或从源代码编译。

Apple OS X:rsync包含在最新版本的OS X中。

Windows:作为一个独立的工具,rsync在Windows上并不常用。有多个GUI程序可用,它们使用rsync作为后端,有些是开源的。Cygwin和DeltaCopy是您在StackExchange上推荐的两个。

考虑rsync over cp或SCP的原因

  • 创建增量数据备份。
  • 仅从源到目标复制两个位置之间不同的数据。
  • 使用MD5在传输时对每个文件进行校验和。
  • rsync的--del选项删除位于目标的不再位于源的文件。
  • rsync可以恢复失败的传输(只要它们是使用rsync启动的)。
  • rsync可以作为守护程序运行。
  • rsync可以使用该-z选项压缩数据,因此无需管道到归档实用程序。

使用rsync

rsync中存在大量选项,许多人在调用工具时都有自己喜欢的选项集。单个rsync选项也可以是多个其他选项的别名,因此,例如,运行rsync -a会产生和rsync -rlptgoD相同的结果。

因此,rsync是一种工具--您在从论坛帖子和互联网上的其他站点复制命令时特别小心,而不知道他们究竟做了什么。如果您在将数据用于数据之前花些时间进行研究和实验,那么您将充分利用rsync。

要开始熟悉rsync,您需要的两个命令是:

代码语言:javascript复制
man rsync
rsync -help

rsync命令的基本结构cp与SCP 类似。

代码语言:javascript复制
rsync -[options] source destination

如果您有多个目标,则将它们附加到字符串的末尾,就像使用以下cp命令一样:

代码语言:javascript复制
rsync -[options] source destination1 destination2 destination3

源或目标,或两者都可以是本地或远程。如果您通过网络同步文件,则本地和远程计算机都需要安装rsync。Rsync在通过网络传输时使用SSH,因此您的数据已加密,并且可与SSH密钥一起使用,以便与远程服务器进行快速身份验证。

远程位置的格式类似于SSH或SCP命令。例如,要将本地文件夹与远程服务器上的文件夹同步,您可以使用:

代码语言:javascript复制
rsync -[options] /path/to/source_folder username@<remote_host>:/path/to/destination_folder

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。

  • rsync Linux Man Page
  • Calomel.org上的Rsync技巧
sshlinuxwindows数据备份sshlinuxwindows数据备份

0 人点赞