1、什么是rsync

  rsync 是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具,rsync软件使用于 unix/linux/windows等多种操作系统平台。

2、rsync简介

  rsync 具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似ssh带的scp命令,但又由于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。

  scp默认是加密的,rsync默认是不加密的。

  rsync还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这又类似cp命令,但同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。

  利用rsync还可以实现删除文件和目录的功能,又相当于rm命令。

  一个rsync相当于scp、cp、rm,但是优于它们每一个命令。

  在同步备份数据时,默认情况下,rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有文件变化的内容部分,所以,可以试想快速的同步备份数据。

  提示:传统的cp、scp工具拷贝每次均为完整的拷贝,而rsync除了可以完整拷贝外,还具备增量拷贝的功能,因此,从同步数据的性能及效率上,rsync工具更胜一筹。

3、rsync的特性:

  (1)支持拷贝特殊文件,如链接文件,设备文件等。

  (2)可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。

  (3)可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变 -p

  (4)可实现增量同步,既只同步发生变化的数据,因此数据传输效率很高,tar。

  (5)可以使用rcp、rsh、ssh等方式来配合传输文件(rsync本身不对数据加密)

  (6)可以用过socket(进程方式)传输文件和数据。  

  (7)支持匿名的或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。

4、rsync的工作方式:

  (1)local,单个主机本地之间的数据传输(此时类似cp命令的功能)

  (2)借助rcp、ssh等通道来传输数据(此时类似于scp命令的功能)

  (3)以守护进程(socket)的方式传输数据(这个是rsync自身的重要的功能)

5、直接本地同步,相当于cp

rsync [选项] 源 目的
rsync ./ssh.gz /tmp #将当前目录下的ssh.gz同步到/tmp中

  cp命令保持属性同步使用 -a  相当于 -pdr

  rsync 保持属性同步使用 -avz

  -r  递归

  --delete 删除操作

mkdir /null
rsync -r --delete /null/ /data/ #删除/data/中的内容。

  注意:/null  --> 表示当前目录及目录下的内容

     /null/ --> 只表示目录下的内容,不包含目录本身

  删除操作时创建一个空目录,表示前面的目录是什么样,后面的目录就是什么样,后面要和前面同步。

  

  实质是删除复制,将后面目录中的内容删除并把前面目录中的内容复制到后面目录中。

6、rsync 的推文件方式 相当于scp

  -e  指定通道

  -avz   属性同步

rsync -avz ./ssh.gz -e 'ssh -p 22' root@192.168.3.138:/file
#-e 指定ssh通道 -p ssh端口号
#-avz 保持属性

  对端查看:

7、rsync 的拉文件方式 相当于scp

调换源目位置
rsync -avz -e 'ssh -p 22' root@192.168.3.138:/file/abc.txt /data

8、rsync 客户端常用参数

  -v  --verbose  输出时的进度,详细信息

  -z  --compress  压缩传输,提高传输速率

  -a  --archive   归档模式,等同于 -rtopgDl

  -r   --recursive   递归

  -t   --times       保持文件时间信息

  -o  --owner   保持文件属主信息

  -p  --perms      保持文件权限

  -g  --group    保持文件属组信息

  -P  --progress  显示同步的过程及传输时的进度等信息

  -D  --devices    保持设备文件信息

  -l   --links     保留软链接

  -e  使用的信道协议 

rsync高级同步工具的更多相关文章

  1. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  2. Rsync数据同步工具

                                        Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...

  3. rsync数据同步工具的配置

    rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...

  4. Rsync远程同步工具使用

    rsync远程同步工具使用 Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件.Rsync的好处是只 ...

  5. Java 并发包中的高级同步工具

    Java 并发包中的高级同步工具 Java 中的并发包指的是 java.util.concurrent(简称 JUC)包和其子包下的类和接口,它为 Java 的并发提供了各种功能支持,比如: 提供了线 ...

  6. 【基础】:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...

  7. rsync - 远程同步工具

    一直没有对这个命令太有深入的理解 简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync ...

  8. Rsync文件同步工具

    前段时间因公司需求,需要把备份的文件进行同步保存,后面就想到了我们大家都最熟悉的文件同步工作Rsync,于是就捣鼓了一下午时间,然后总结了下大概过程和参数详情. 首先了解了下rsync同步的大致原理: ...

  9. [cmd] rsync - 远程同步工具

    简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync 是一个非常灵活的同步工具,它也是一 ...

随机推荐

  1. 华为云ROMA,联接企业应用的现在与未来

    2019.9.19日,在华为全联接大会的华为云Summit中,华为云CTO宇昕总提出:"企业的应用与数据集成,始终是数字化转型和智能化升级的关键,华为云企业应用与数据集成平台ROMA,打破时 ...

  2. 从React 编程到"好莱坞"

    目录 概念 面向流设计 异步化 响应式宣言 参考文档 概念 Reactive Programming(响应式编程)已经不是一个新东西了. 关于 Reactive 其实是一个泛化的概念,由于很抽象,一些 ...

  3. postgresql,postgis,geoserver 发布地图服务,并用.net mvc openlayers3进行显示

    1.所需工具 postgres版本 9.6.1 对应的postgis geoserver 2.8.2 openlayers3 2.将postgres postgis ,geosever安装好,再用如下 ...

  4. JNI用法小例子

    一.准备包含本地方法的.java文件(ContentVideo.java),包括set()和get()两个方法. public class ContentVideo { public native s ...

  5. Linux内核最顶层文档

    Linux 内核文档 该文件是 Linux 内核文档树中最顶层的,会随着内核一起更新:其目的是把散乱的文档集成为一个逻辑清晰的完整版,非常欢迎改善文档,如果想做出自己的贡献,加入vger.kernel ...

  6. Python核心笔记:在python文件中如何调用其它python脚本文件,你肯定不会

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:zhujuyu 笔者在自学python的时候遇到了这样一个练习题:将 ...

  7. 基于 H5 + WebGL 实现 3D 可视化地铁系统

    前言 工业互联网,物联网,可视化等名词在我们现在信息化的大背景下已经是耳熟能详,日常生活的交通,出行,吃穿等可能都可以用信息化的方式来为我们表达,在传统的可视化监控领域,一般都是基于 Web SCAD ...

  8. vue2.5 + element UI el-table 导出Excel

    安装依赖 npm install --save xlsx file-saver 新建excelHelper.js \src\utils\目录下新建excelHelper.js文件 import Vue ...

  9. Xshell连接阿里云服务器

    1.遇到的问题 ​ 直接用阿里云的终端,还需要登录浏览器很是麻烦,所以用Xshell,ssh远程登录这样就轻松方便了很多. 2.打开 ​ 打开安装好的Xshell,点击新建 出现了这个界面,首先注意主 ...

  10. 【Java】在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整 ...