6.6 rsync:文件同步工具
rsync
rsync命令有三种常见模式
1)本地模式:
rsync [option] [SRC] [DEST]
rsync [选项] [源文件] [目标文件] 2)通过远程Shell访问模式;
拉取(Pull):
rsync [option] [USER@]HOST:SRC [DEST]
rsync [选项] 用户@主机:源文件 [目标文件]
推送(Push);
rsync [option] [SRC] [USER@]HOST:DEST
rsync [选项] [源文件] 用户@主机:目标文件
3)rsync守护进程模式
拉取(Pull):
rsync [option] [USER@]HOST:SRC [DEST]
rsync [选项] 用户@主机:源文件 [目标文件]
rsync [option] rsync://[USER@]HOST[:PORT]/SRC [DEST]
rsync [选项] rsync://用户@主机:端口/源文件 [目标文件] 推送(Push): rsync [option] [DEST] [USER@]HOST:SRC
rsync [选项] [目标文件] 用户@主机:源文件
rsync [option] [DEST] rsync://[USER@]HOST[:PORT]/SRC
rsync [选项] [目标文件] rsync://用户@主机:端口/源文件
rsync命令的参数选项及说明
源地址带与不带斜线(/)的区别的例子。
[root@cs6 /]# mkdir -p /data1/{test1,test2} /data2
[root@cs6 /]# rsync -av /data1/ /data
data1/ data2/
[root@cs6 /]# rsync -av /data1/ /data2 #<=如果源目录的末是有斜线,就会复制目录内的内客,而不是复制目录本身。
sending incremental file list
test1/
test2/
sent 61 bytes received 20 bytes 162.00 bytes/sec
total size is 0 speedup is 0.00
[root@cs6 /]# ls /data2
test1 test2
[root@cs6 /]# rsync -av /data1 /data2 #<=如果源目录没有斜线,则会复制目录本身及目录下的内容。
sending incremental file list
data1/
data1/test1/
data1/test2/
sent 74 bytes received 24 bytes 196.00 bytes/sec
total size is 0 speedup is 0.00
[root@cs6 /]# ls /data2/
data1 test1 test2
[root@cs6 /]#
本地复制的例子(类似cp)
[root@cs6 /]# rsync -av /etc/hosts /tmp #<==源文件/etc/hosts和目标目录/tmp都在同一台主机之上。
sending incremental file list
hosts sent 231 bytes received 31 bytes 524.00 bytes/sec
total size is 158 speedup is 0.60
[root@cs6 /]# ll -h /tmp/hosts
-rw-r--r--. 1 root root 158 Jan 12 2010 /tmp/hosts
删除文件的特殊例子(--delete)
[root@cs6 ~]# mkdir /null #<==创建一个空目录。
[root@cs6 ~]# rsync -av --delete /null/ /tmp/ #<==选项--delete 使tmp目录内容和空目录保持一致,不同的文件及目录将会被删除,即null里有什么内容,tmp里就有什么内容。null里没有的,而tmp里有的就必须要删除,因为null目录为空,因此此命令会删除/tmp目录中的所有内容。
sending incremental file list
./
deleting tmp/html/oldboy/test/
deleting tmp/html/oldboy/
deleting tmp/html/9.html
deleting tmp/html/8.html
deleting tmp/html/10.html
deleting tmp/html/1.html
......
deleting install.log
deleting hosts
deleting etc.tar.gz
deleting anaconda-ks.cfg
sent 29 bytes received 15 bytes 88.00 bytes/sec
total size is 0 speedup is 0.00
[root@cs6 ~]# ls /tmp
拉取推送文件及目录(类似前文的scp命令)
[root@cs6 ~]# rsync -av 10.0.0.55:/tmp/ /tmp
root@10.0.0.55's password:
receiving incremental file list
./
anaconda-ks.cfg
ks-script-4WSQ4c
services
yum.log
[root@cs6 ~]# ls /tmp
anaconda-ks.cfg ks-script-4WSQ4c services tmp yum.log
[root@cs6 ~]# rsync -av /tmp/ 10.0.0.55:/tmp/
root@10.0.0.55's password:
sending incremental file list sent 1115 bytes received 27 bytes 326.29 bytes/sec
total size is 20341760 speedup is 17812.40
利用SSH隧道模式(-e)拉取推送文件及目录
[root@cs6 ~]# touch /tmp/test.txt
[root@cs6 ~]# rsync -av -e 'ssh -p 22' /tmp 10.0.0.55:/tmp/
#<=前面的案例使用rsync同步数据都是明文传输的,在要求保障数据安全的场景下,可以使用-e选项借助SSH随道进行加密传输数据,-p是SSH命令的选项,指定SSH传输的端口号为22,这条命令的结果是将本地/tmp目录下的内容通过SSH加密隧道推送数据到10.0.0.55主机的/tmp目录。
同理,执行"rsync -av -e "ssh -p 22' 10.0.0.55:/tmp/ /tmp” 可以从10.0.0.55主机的/tmp日录通过SSH加密隧道将数据拉取到本地/tmp目录下。
root@10.0.0.55's password:
sending incremental file list
tmp/
tmp/anaconda-ks.cfg
tmp/ks-script-4WSQ4c
6.6 rsync:文件同步工具的更多相关文章
- Rsync文件同步工具
前段时间因公司需求,需要把备份的文件进行同步保存,后面就想到了我们大家都最熟悉的文件同步工作Rsync,于是就捣鼓了一下午时间,然后总结了下大概过程和参数详情. 首先了解了下rsync同步的大致原理: ...
- Rsync 3.1.0 发布,文件同步工具
文件同步工具Rsync 3.1.0发布.2013-09-29 上一个版本还是2011-09-23的3.0.9 过了2年多.Rsync基本是Linux上文件同步的标准了,也可以和inotify配合做实时 ...
- Rsync文件同步
Rsync文件同步 本章结构 关于rsync 1.一款增量备份工具,remote sync,远程同步,支持本地复制或者与其他SSH.rsync主机同步,官方网站:http://rsync.samba. ...
- Linux实战教学笔记21:Rsync数据同步工具
第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...
- rsync - 远程同步工具
一直没有对这个命令太有深入的理解 简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync ...
- Rsync数据同步工具
Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...
- [cmd] rsync - 远程同步工具
简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync 是一个非常灵活的同步工具,它也是一 ...
- rsync数据同步工具的配置
rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...
- Rsync远程同步工具使用
rsync远程同步工具使用 Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件.Rsync的好处是只 ...
- 【基础】:Rsync数据同步工具
第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...
随机推荐
- malloc 函数分析 glibc2.23
malloc 函数详解 本篇主要是参考了glibc 2.23的源码 首先我们来看看malloc函数的执行流程. strong_alias (__libc_malloc, __malloc) stron ...
- WebStorm 2020.1.2 激活
1 下载 没下载的先去官网下载. 2 安装 系统Linux,解压后直接运行bin下的webstorm.sh. 首先提示是否导入设置,如果以前安装过的话会默认选择第一项. 选UI主题: 是否创建Desk ...
- Tree Recovery UVA - 536
Little Valentine liked playing with binary trees very much. Her favorite game was constructing rando ...
- JAVAEE_Servlet_18_关于Servlet线程安全问题
关于Servlet线程安全问题 Servlet线程安全 Servlet 是单实例多线程的环境下运行的. 在服务器运行期间,一个Servlet接口实现类,只能创建一个实例对象(一个进程(Servlet接 ...
- src/众测篇:oracle注入过滤-- , + - * /,case when ,select,from,decode等函数如何证明是注入?
(1)nullif: NULLIF:如果exp1和exp2相等则返回空(NULL),否则返回第一个值 真: 假: (2)nvl/nvl2 测试失败无法实现:)记录 (3)如果是oracle报错注入 ...
- hdu1914 稳定婚姻问题
稳定婚姻问题就是给你n个男的,n个女的,然后给你每个男生中女生的排名,和女生心目中男生的排名,然后让你匹配成n对,使婚姻稳定,假如a和b匹配,c和d匹配,如果a认为d比b好,同时 ...
- Hexo 博客Next 搭建与美化主题
========================================================================================将页面部署到GitHub ...
- 【JavaScript】【KMP】Leetcode每日一题-实现strStr()
[JavaScript]Leetcode每日一题-实现strStr() [题目描述] 实现 strStr() 函数. 给你两个字符串 haystack 和 needle ,请你在 haystack 字 ...
- 如何使用java搭建一款高性能的Mqtt集群broker!
SMQTT是一款开源的MQTT消息代理Broker, SMQTT基于Netty开发,底层采用Reactor3反应堆模型,支持单机部署,支持容器化部署,具备低延迟,高吞吐量,支持百万TCP连接,同时支持 ...
- 从几道题目带你深入理解Event Loop_宏队列_微队列
目录 深入探究JavaScript的Event Loop Event Loop的结构 回调队列(callbacks queue)的分类 Event Loop的执行顺序 通过题目来深入 深入探究Java ...