[cmd] rsync - 远程同步工具
简介
rsync 即 remote sync,一个远程与本地文件同步工具。rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件。
rsync 是一个非常灵活的同步工具,它也是一种使用该工具的网络协议名称。本文中所说的 rsync 都是指同步工具,而非网络协议。由于它在类 Unix 系统中广为流行,它也是大多数 Linux 发行版的默认自带工具。
基本语法
rsync 的基本语法非常简单,类似于 ssh, scp 和 cp 命令的语法。
例如我们创建两个目录和一些文件:
cd ~
mkdir dir1 dir2
touch dir1/file{1..100}
现在 dir1 目录中有 100 个空文件,一个空目录 dir2,现在同步 dir1 目录中的内容到 dir2:
rsync -r dir1/ dir2
-r 选项表示递归,这在同步目录时非常重要。对以上操作,我们也可以用 -a 选项来实现:
rsync -a dir1/ dir2
-a 选项表示 archive,递归同步文件,保留符号链接,特殊或设备文件,修改时间,用户组,所有人和权限。一般情况下使用 -r 就可以了。
注意
你也许已经留意到以上示例第一个参数后面的 /
符号,它表示 “dir1 的内容”。
如果没有 /
符号,例如 rsync -r dir1 dir2
,则表示需要同步的对象包括目录 dir1
,于是在 dir2
目录结构同步成了 dir2/dir1/[100 files]
,因此在同步之前一定要小心检查。
要检查 rsync 即将执行的操作,可以使用 -n
或 --dry-run
选项,该选项会打印出同步结果,但实际上并不做真正的同步操作,一般会增加一个 -v
选项来查看输出结果,例如:
rsync -anv dir1/ dir2
同步远程文件
rsync 同步远程文件语法和 scp 命令相似,只要你拥有远程 SSH 访问权限,同时远程和本地都安装了 rsync 命令。
推送文件至远程
rsync -a dir1 username@remote_host:destination_directory
拉拽文件至本地
rsync -a username@remote_host:~/path/to/dir1 local_destination_path
无论是推送还是拉拽,第一个参数总是源文件,第二参数才是目标文件。
常用选项
如果你要同步一些未压缩的文件,你可以使用 -z
选项来压缩文件并传输以减少网络传输量。
rsync -az src dest
另外一个非常有用的选项是 -P
,该选项结合了 --progress
和 --partial
两个选项的功能,--progress
表示显示同步进度条,--partial
表示断点续传。
rsync -azP src dest
要两个目录绝对同步,那就必须在目标目录中删除源目录中已删除的文件。在默认情况下,rsync 不从目标目录中删除任何东西,但我们可以使用 --delete
选项来修改这种默认行为:
rsync -a --delete src dest
如果你想要排除某些文件进行同步,你可以使用 --exclude=pattern
选项,多个文件之间使用 ,
分隔:
rsync -a --exclude=pattern1,pattern2 src dest
使用不同的 SSH 端口:
rsync -azP -e "ssh -p 2422" src dest
附录
[cmd] rsync - 远程同步工具的更多相关文章
- Rsync远程同步工具使用
rsync远程同步工具使用 Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件.Rsync的好处是只 ...
- rsync - 远程同步工具
一直没有对这个命令太有深入的理解 简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync ...
- hadoop(六)rsync远程同步|xsync集群分发(完全分布式准备三)|8
前置环境准备:centos7克隆ip|机器名|映射关系|别名配置(hadoop完全分布式准备一)scp命令copy文件和配置(hadoop完全分布式准备二) rsync远程同步工具 优点 rsync主 ...
- Linux实战教学笔记21:Rsync数据同步工具
第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...
- Rsync数据同步工具
Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...
- rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份
rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步 作用:做数据备份 备份方式: 完全备份 增量备份 ...
- rsync远程同步的基本配置与使用
rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用. rsync的官 ...
- rsync数据同步工具的配置
rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...
- 【基础】:Rsync数据同步工具
第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...
随机推荐
- JDBC(2)—Statement
介绍: 获取到数据库连接之后,就可以对数据库进行一些增.删.改操作,但是却不能进行查询操作. 增删改操作是程序到数据库的一个操作过程,但是查询是程序到数据库--数据库返回到程序的一个过程. 步骤: 步 ...
- AngularJS中控制器继承
本篇关注AngularJS中的控制器继承,了解属性和方法是如何被继承的. 嵌套控制器中属性是如何被继承的? ==属性值是字符串 myApp.controller("ParentCtrl&qu ...
- (转)Java atomic原子类的使用方法和原理(一)
在讲atomic原子类之前先看一个小例子: public class UseAtomic { public static void main(String[] args) { AtomicIntege ...
- String literal is not properly closed by a double-quote eclipse
中文乱码, 解决方法之一就是更改工程的编码方式. 首先选择工程,右键打开property窗口,resource下的text file incoding,看看是不是选择的utf-8,如果不是的话更改为 ...
- SharePoint Online 自定义Modern UI表单
前言 用过SharePoint Online 版本的朋友们,应该很熟悉SharePoint为我们带来的Modern UI,而这个页面的订制,也跟原来的表单定制方式不同了,而且更加简单了. 而且,试了一 ...
- linux设置预留端口号,防止监听端口被占用 ip_local_reserved_ports
1. 背景 linux服务器启动时,会对指定的端口进行监听bind,如果同一个机器上这个端口已经被使用,则监听失败,程序无法启动. linux客户端连接服务器accept时,系统会分配本地临时端口用于 ...
- Ubuntu16.04下安装和配置Redis
一.前提条件 需要连接互联网,然后执行sudo apt-get update更新软件包 二.执行安装命令 sudo apt-get install redis-server 执行后如下图所示,我们输 ...
- 【T03】理解私有地址和NAT
1.私有地址包括三块: 10.0.0.0 到 10.255.255.255 172.16.0.0 到 172.31.0.0 192.168.0.0 到 192.168.255.255 2.私有地址接入 ...
- 阿里云服务器Centos7.4开放80端口的记录
问题: 阿里云服务器安装的是centos7, 搭建网站安装lnmp1.5后发现访问不了, 不明所以, 在一论坛找到关于80端口未开放的原因. 需求: 开放80端口.于是有了下面第一,二,三部分关于开放 ...
- 【Windows】Dos中的日期的和时间
在Dos中,我们可以通过动态变量DATE来取得当前日期,通过动态变量TIME来取得当前日期.实例1 C:\Users\hubin5>echo %date% 2013/03/11 周一 C:\Us ...