rsync高级同步工具
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高级同步工具的更多相关文章
- Linux实战教学笔记21:Rsync数据同步工具
第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...
- Rsync数据同步工具
Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...
- rsync数据同步工具的配置
rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...
- Rsync远程同步工具使用
rsync远程同步工具使用 Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件.Rsync的好处是只 ...
- Java 并发包中的高级同步工具
Java 并发包中的高级同步工具 Java 中的并发包指的是 java.util.concurrent(简称 JUC)包和其子包下的类和接口,它为 Java 的并发提供了各种功能支持,比如: 提供了线 ...
- 【基础】:Rsync数据同步工具
第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...
- rsync - 远程同步工具
一直没有对这个命令太有深入的理解 简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync ...
- Rsync文件同步工具
前段时间因公司需求,需要把备份的文件进行同步保存,后面就想到了我们大家都最熟悉的文件同步工作Rsync,于是就捣鼓了一下午时间,然后总结了下大概过程和参数详情. 首先了解了下rsync同步的大致原理: ...
- [cmd] rsync - 远程同步工具
简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync 是一个非常灵活的同步工具,它也是一 ...
随机推荐
- python_Django
1.Python用具 - pip 1.作用: Python的软件包管理器,有一些python包被集成到了pip中.只要被集成到pip中的包,都允许通过pip直接安装 2.安装 ...
- golang数据结构之队列
队列可以用数组或链表实现,遵从先入先出. 目录结构: 在main中调用queue包中的属性和方法,如何调用参考另一篇文章: https://www.cnblogs.com/xiximayou/p/12 ...
- 浅谈css样式之list-type
在我们的工作学习中,大多数人使用列表标签的时候总一般的选择是把list-type设置成none.不过可能很多人对于这个属性的细节并没有很深的了解.甚至会把list-type和list-type-sty ...
- 【LiteOS】STM32F103-LiteOS移植教程(详细篇)【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- gitbook 入门教程之增强版 edit-link-plus 编辑此页插件
Gitbook plugin add "edit this page" link, and intelligent recognition to Github or Gitlab ...
- AQS系列(二)- ReentrantLock的释放锁
前言 在AQS系列(一)中我们一起看了ReentrantLock加锁的过程,今天我们看释放锁,看看老Lea那冷峻的思维是如何在代码中笔走龙蛇的. 正文 追踪unlock方法: public void ...
- sass 安装过程中的坑
1,需要在项目中使用sass/scss 功能需要先在项目中安装,安装方法: cnpm install node-sass --save-dev //安装node-sass cnpm install s ...
- hdu2546
Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负) ...
- 记录一些实用的小技巧-CSS篇
1.单行文本截断 .text{ width: 200px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } 2.多行 ...
- 小白进阶之路—python脚本(1)判断是否是一个目录
#!/usr/bin/env python# -*- coding: utf-8 -*-import os dir = "/var/www/html/EnjoyWeekend/" ...