[转]rsync命令中文文档
原文链接
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命令中文文档的更多相关文章
- PostgreSQL教程收集(中文文档/命令行工具/常用命令)
http://www.postgres.cn/docs/9.6/index.html(中文文档) https://www.postgresql.org/docs/10/static/auth-meth ...
- Phoenix综述(史上最全Phoenix中文文档)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...
- ORCHARD中文文档(翻译)
众所周知,Orchard是.net领域最好的开源CMS之一,他使用了微软最先进的技术,有一群先进理念的支持者,但是,所有的事情在国内总得加个但是,Orchard也不例外,中文资料相对比较少,官网提供的 ...
- PHP开发框架Laravel优点,Laravel5.3中文文档
PHP开发框架Laravel优点 Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为一个框架,它为你准备好了一切,composer是个php的未来,没有comp ...
- Django 1.10中文文档—第一个Django应用Part1
在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以 ...
- 【Chromium中文文档】Chrome/Chromium沙箱 - 安全架构设计
沙箱 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Sandbox.ht ...
- 【Chromium中文文档】Profile架构(看看谷歌家的重构)
进程模型 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Profile_ ...
- 【Chromium中文文档】进程模型
进程模型 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Process_ ...
- Core 中文文档
ASP.NET Core 中文文档 第二章 指南(1)用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序 原文:Your First ASP. ...
随机推荐
- Java集合—Set集和Map集
一.Set集合 1.概述 Set集合无序的.不可重复的元素(无序是指索引) Set集合不按照特定的方法进行排序,只是将元素放在集合中. 下面介绍一下Set集合的HashSet和TreeSet两个实现类 ...
- CNN:人工智能之神经网络算法进阶优化,六种不同优化算法实现手写数字识别逐步提高,应用案例自动驾驶之捕捉并识别周围车牌号—Jason niu
import mnist_loader from network3 import Network from network3 import ConvPoolLayer, FullyConnectedL ...
- P1967 货车运输
P1967 货车运输最大生成树+lca+并查集 #include<iostream> #include<cstdio> #include<queue> #inclu ...
- 移动端滑屏全应用【三】requestAnimationFrame的兼容与使用
首先,传统做动画的方式有以下几种: 1. css的transition过度动画 2. css的animation动画 3. 使用setTimeout或setInterval模拟动画贞(js执行机制决定 ...
- 基于Ardalis.GuardClauses守卫组件的拓展
在我们写程序的时候,经常会需要判断数据的是空值还是null值,基本上十个方法函数,八个要做这样的判断,因此我们很有必要拓展出来一个类来做监控,在这里我们使用一个简单地,可拓展的第三方组件:Ardali ...
- 洛谷P2569 股票交易
题目传送门https://www.luogu.org/problemnew/show/P2569 第一眼看题就觉得是个dp ,然后看到2000的范围,hmm大概是个n^2的2维dp 开始设状态,第一维 ...
- Java笔记(七)HashMap和HashSet
HashMap和HashSet 一)HashMap 1.Map接口 interface Map<K,V> { int size();//查看Map中的键值对个数 boolean isEmp ...
- 潭州课堂25班:Ph201805201 django框架 第九课 模型补充 博客小案例 (课堂笔记)
聚合查询: 分组查询: annotate() 方法 例:查询某学院学生人数,(一对多查询) 以字典的形式输出 annotate(统计 ‘关联学生字段 出现的次,).字典形式(键,值) 例:查询每项课程 ...
- servlet模板的修改
找到myeclipse的安装目录: 找到此目录下的这个jar包 右键以压缩包的方式打开然后找到templates文件夹并打开它: 在打开的templates文件夹找到并以高级记事本打开Servlet. ...
- linux之软连接,硬连接篇
作业四: 1) 建立/etc/passwd的软连接文件,放在/tmp目录下 [root@localhost 桌面]# ln -s /etc/passwd/a.txt /tmp/aa.txt 2) 建立 ...