原文链接

rsync是一个快速、多功能的远程(和本地)文件拷贝工具。

摘要

Local:  rsync [OPTION...] SRC... [DEST]

Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

当仅有一个SRC或DEST参数时将列出源文件列表而不是复制文件。

描述

Rsync是一个快速且功能非常丰富的文件拷贝工具。它可以在本地和远程之间通过shell或rsync服务互相拷贝文件。它提供了大量的选项来控制它各方面功能的行为,且在指定待拷贝文件方面非常有弹性。它以其增量拷贝算法而出名,只拷贝源和目标不同的文件部分,因此减少网络间要传输的数据。Rsync每天都被广泛用于做备份、镜像和当作升级版拷贝命令。

Rsync使用"quick check"算法(默认)决定文件是否需要被传输,它会找出大小或最后修改时间(mtime)不同的文件。当"quick check"算法表明了文件不需要被更新时,任何其他保留属性(译者注:除大小和最后修改时间外的属性)都将直接在目标文件上修改。

rsync的其他特性包括:

  • 支持类似于GNU tar命令的exclude和exclude-from选项
  • 支持拷贝链接文件、设备文件、所有权(即所有者和所属组)、属组以及权限
  • 支持CVS排除模式以忽略相同的文件(译者注:CVS是一种版本控制系统)
  • 可以使用任意透明的远程shell(remote shell),包括ssh或rsh
  • 不要求超级管理员权限
  • 以pipeline管道模型传输文件以便最小化降低成本
  • 支持匿名或可身份认证的rsync daemon模式(做镜像的理想方式)

一般特性

Rsync在本地或远程主机之间拷贝文件(但不支持两个远程之间互相拷贝)。

rsync有两种不同的方式联系远程主机:使用远程shell程序作为传输方式(如ssh或rsh)或直接通过TCP联系rsync守护进程。当命令行中指定的源或目标主机后使用了单个冒号(:)时将使用远程shell传输模式。当在命令行中指定的源或目标主机后使用双冒号(::)或使用了rsync://这种URL时将表示使用TCP联系rsync守护进程,但rsync://方式有一个例外,请参见下文"通过远程SHELL连接使用RSYNC-DAEMON特性"段落的内容。

但有一个特殊情况,如果只给定了源地址没有给定目标地址,则将以类似于"ls -l"的格式输出文件列表。

若给定的源地址和目标地址都不是远程地址,则在本机进行拷贝(见选项--list-only)。

Rsync命令中,本地端总是扮演"client"角色,远程端总是扮演"server"角色。不要混淆"server"和rsync daemon,rsync daemon一定是一个"server",但是"server"可能是一个rsync daemon也可能是远程shell派生出来的进程。

安装

请阅读README文件来查看安装说明。

当安装完成后,你可以通过远程shell(也可以通过rsync daemon协议)让rsync与任意你能访问的主机进行交流。对于远程传输,现代rsync使用ssh与其他主机进行交流,但是可以配置其他默认的远程shell,如rsh或remsh。

你也可以通过命令行的"-e"选项或设置RSYNC_RSH环境变量来指定你想要使用的远程shell。

rsync必须同时装在源主机和目标主机上。

用法

rsync的使用方法和rcp一样。你必须指定源地址和目标地址,其中一个可能是远程地址。

也许解释语法最好的方式是通过几个示例:

rsync -t .c foo:src/

这将会把当前目录下所有能匹配
.c的文件传输到主机foo上的src目录下。如果远程主机上已经存在某些同名文件,rsync的远程更新(rsync-update)协议将会更新哪些有差异的文件。

rsync -avz foo:src/bar /data/tmp

这将会以递归方式把远程主机foo上的src/bar目录下的所有文件传输到本地主机的/data/tmp目录下。这些文件以归档(archive)模式传输,它保证在传输过程中保留符号链接、设备文件、属性、权限、所有者、所属组等。另外,在传输过程中会使用压缩功能以减少要传输的数据体积。

   rsync -avz foo:src/bar/ /data/tmp

使用尾随斜线(/)改变了原本的行为,它避免了在目标地址创建一个额外的目录层次。带有尾随斜线时,你可以理解为"拷贝目录的内容"而不是拷贝"拷贝目录名"(译者注:即拷贝目录本身),但是这两种情况都会将目录中包含的文件传输到目标目录下。换句话说,下面两条命令都以相同的方式进行拷贝,包括/dest/foo的属性设置。

   rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo

还需要注意的是,拷贝主机或引用模块的默认目录不需要尾随斜线。例如,下面的命令都拷贝远程(默认)目录的内容到本地的"/dest"。

   rsync -av host: /dest
rsync -av host::module /dest

你也可以仅使用rsync的仅本地(local-only)模式,此模式下的源地址和目标地址名称中都不需要冒号(

[转]rsync命令中文文档的更多相关文章

  1. PostgreSQL教程收集(中文文档/命令行工具/常用命令)

    http://www.postgres.cn/docs/9.6/index.html(中文文档) https://www.postgresql.org/docs/10/static/auth-meth ...

  2. Phoenix综述(史上最全Phoenix中文文档)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...

  3. ORCHARD中文文档(翻译)

    众所周知,Orchard是.net领域最好的开源CMS之一,他使用了微软最先进的技术,有一群先进理念的支持者,但是,所有的事情在国内总得加个但是,Orchard也不例外,中文资料相对比较少,官网提供的 ...

  4. PHP开发框架Laravel优点,Laravel5.3中文文档

    PHP开发框架Laravel优点 Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为一个框架,它为你准备好了一切,composer是个php的未来,没有comp ...

  5. Django 1.10中文文档—第一个Django应用Part1

    在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以 ...

  6. 【Chromium中文文档】Chrome/Chromium沙箱 - 安全架构设计

    沙箱 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Sandbox.ht ...

  7. 【Chromium中文文档】Profile架构(看看谷歌家的重构)

    进程模型 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Profile_ ...

  8. 【Chromium中文文档】进程模型

    进程模型 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Process_ ...

  9. Core 中文文档

    ASP.NET Core 中文文档 第二章 指南(1)用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序   原文:Your First ASP. ...

随机推荐

  1. Java 之 JavaScript (二)

    1.DOM a.作用:通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素 b.功能: ①JavaScript 能够改变页面中的所有 HTML 元素 ②JavaScript ...

  2. Codeforces 1037D【BFS】

    <题目链接> 题目大意: 给你一颗树的所有边,这些边是无向的,然后给你一段BFS序列,BFS都以1为根节点,判断这段BFS序列是否合法. 解题分析: 就是模拟BFS,某个父亲节点的所有子节 ...

  3. 机器学习实战笔记-k-近邻算法

    机器学习实战笔记-k-近邻算法 目录 1. k-近邻算法概述 2. 示例:使用k-近邻算法改进约会网站的配对效果 3. 示例:手写识别系统 4. 小结 本章介绍了<机器学习实战>这本书中的 ...

  4. Scrapy基础(十)———同步机制将Item中的数据写在Mysql

      前面讲解到将Item中的所有字段都已经填写完成,那么接下来就是将他们存储到mysql数据库中,那就用到了pipeline项目管道了:  对项目管道的理解:做一个比喻,爬取好比是开采石油,Item装 ...

  5. 潭州课堂25班:Ph201805201 django 项目 第三十六课 后台文章管理(课堂笔记)

    get 请求, 1,获取文章标签 , 2,拿到前台传来的值, 3,根据前台传来的值在数据库中查询 4.,返回数据到前台,渲染, 分页算法 : 在 utils 下创建  paginator_script ...

  6. mongodb数据导入导出

    1.导出: 2.导入: 注意headline,导入一定要跳过第一行,第一行是列名

  7. BZOJ3273 : liars

    枚举每个人,计算他必定是诚实者的情况下至少有几个人说谎,若超过$t$则他肯定是说谎者. 对于至少有几个人说谎,区间信息可以合并: 每个区间维护最左最右两个人$l,r$以及$f[i][j]$表示$l$和 ...

  8. java中常用的进制转换

    十进制转成十六进制:   Integer.toHexString(int i)   十进制转成八进制   Integer.toOctalString(int i)   十进制转成二进制   Integ ...

  9. JQ01

    JQ01 1.使用js的缺点 innerText的兼容性问题:低版本火狐浏览器不支持 textContent:火狐支持,ie678不支持 2.JQ初体验 1) <!DOCTYPE html> ...

  10. Hibernate关系映射时出现的问题

    在学习Hibernate框架的关系映射时,遇到了一个问题: INFO: HHH000422: Disabling contextual LOB creation as connection was n ...