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. go变量

    go基础 go变量(静态) package main import "fmt" func main() { //申明变量 var zx int //变量赋值 zx=10 //输出变 ...

  2. jsp中标签的序号问题

    采用ststus.count进行序号的显示,但是设置了分页之后会出现点击下一页之后第二页的序号还是从1开始排序的,有时候并不方便,所以本文章针对带有分页的序号进行设置: <c:forEach i ...

  3. Spring Boot SpringApplication启动类(一)

    目录 目录 前言 1.起源 2.SpringApplication 准备阶段 2.1.推断 Web 应用类型 2.2.加载应用上下文初始器 ApplicationContextInitializer ...

  4. Ubuntu 18.04 LTS上安装NFS服务器和客户端

    NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器.操作系统以及低层传送协议无关的存取远程文件的操作.RPC采用了XDR的支持.XDR是一种与机器无关的 ...

  5. 【我的物联网成长记8】超速入门AT指令集【华为云技术分享】

    [摘要] 在物联网中,AT命令集可用于控制&调测设备.通信模块入网等.本文为您介绍NB-IoT常用的AT命令集及其调测工具. 什么是AT指令集 AT命令,用来控制TE(Terminal Equ ...

  6. luogu P1722 矩阵 II

    题目背景 usqwedf 改编系列题. 题目描述 如果你在百忙之中抽空看题,请自动跳到第六行. 众所周知,在中国古代算筹中,红为正,黑为负-- 给定一个1*(2n)的矩阵(usqwedf:这不是一个2 ...

  7. 机器学习python*(深度学习)核心技术实战

    Python实战及机器学习(深度学习)技术 一,时间地点:2020年01月08日-11日 北京(机房上课,每人一台电脑进行实际案例操作,赠送 U盘拷贝资料及课件和软件)二.课程目标:1.python基 ...

  8. Xcode10:The operation couldn’t be completed. (DVTCoreSimulatorAdditionsErrorDomain error 0.)

    目录 Xcode10 build success,但是模拟器Simulator不能正常启动,报错如下: 解决方案: Xcode10 build success,但是模拟器Simulator不能正常启动 ...

  9. Spring代理模式(jdk动态代理模式)

    有动态代理和静态代理: 静态代理就是普通的Java继承调用方法. Spring有俩种动态代理模式:jdk动态代理模式 和 CGLIB动态代理 jdk动态代理模式: 代码实现: 房东出租房子的方法(继承 ...

  10. 《吊打面试官》系列-ConcurrentHashMap & HashTable

    你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和 ...