rsync同步基本用法
rsync基本用法
1案例1:rsync基本用法
1.1问题
本例要求掌握远程同步的基本操作,使用rsync命令完成下列任务:
将目录/boot同步到目录/todir下
将目录/boot下的文档同步到目录/todir下
在目录/boot下新增文件a.txt,删除/todir下的子目录grub2,再次同步使/todir与/boot一致
验证-a、-n、-v、--delete选项的含义
1.2方案
本地同步操作:
rsync[选项...]本地目录1本地目录2
rsync[选项...]本地目录1/本地目录2
rsync同步工具的常用选项:
-n:测试同步过程,不做实际修改
--delete:删除目标文件夹内多余的文档
-a:归档模式,相当于-rlptgoD
-v:显示详细操作信息
-z:传输过程中启用压缩/解压
1.3步骤
实现此案例需要按照如下步骤进行。
步骤一:rsync同步基本操作
1)将目录/boot同步到目录/todir下
[root@svr7~]#ls -l /todir //同步前
ls:无法访问/todir:没有那个文件或目录
[root@svr7~]#rsync -a /boot /todir //将目录1作为目录2的子目录
[root@svr7~]#ls -l /todir //检查同步结果
总用量4
dr-xr-xr-x.4 root root 4096 11月30 18:50 boot
2)将目录/boot下的文档同步到目录/todir下
[root@svr7~]#rm -rf /todir //清理掉目录2
[root@svr7~]#rsync -a /boot/ /todir //将目录1下的文档同步到目录2下
[root@svr7~]#ls -l /todir //检查同步结果
总用量126708
-rw-r--r--.1 root root 126426 10月30 2015 config-3.10.0-327.el7.x86_64
drwxr-xr-x.2 root root 4096 11月30 18:50 extlinux
drwx------.6 root root 104 12月9 09:58 grub2
....
3)同步效果测试
① 在目录/boot下新增文件a.txt,删除/todir下的子目录grub2:
[root@svr7~]#touch /boot/a.txt
[root@svr7~]#rm -rf /todir/grub2/
② 现在目录/boot和/todir目录下的内容已经不一致了:
[root@svr7~]#ls -ld /boot/a.txt /todir/a.txt
ls:无法访问/todir/a.txt:没有那个文件或目录
-rw-r--r--.1 root root 0 1月11 21:09/boot/a.txt
[root@svr7~]#ls -ld /boot/grub2 /todir/grub2
ls:无法访问/todir/grub2:没有那个文件或目录
drwx------.6 root root 104 12月9 09:58/boot/grub2
③ 再次同步使/todir与/boot一致:
[root@svr7~]#rsync -a /boot/ /todir/
确认同步结果:
[root@svr7~]#ls -ld /boot/a.txt/ todir/a.txt
-rw-r--r--.1 root root 0 1月11 21:09/boot/a.txt
-rw-r--r--.1 root root 0 1月11 21:09/todir/a.txt
[root@svr7~]#ls-ld/boot/grub2/todir/grub2
drwx------.6 root root 104 12月9 09:58/boot/grub2
drwx------.6 root root 104 12月9 09:58/todir/grub2
步骤二:验证-a、-v、-n、--delete选项的含义
1)验证-a选项
④ 当目录1包含文件夹时,若缺少-a或-r选项则文件夹会被忽略:
[root@svr7~]#rsync /home /testa
skipping directory home
[root@svr7~]#ls -ld /testa
⑤ ls:无法访问/testa:没有那个文件或目录
添加-a后才会执行同步:
[root@svr7~]#rsync -a /home/ /testa
[root@svr7~]#ls -ld /testa
drwxr-xr-x.4 root root 31 1月6 17:33/testa
类似的情况,当目录1中的数据出现权限、归属、修改时间等变化时,若文件内容不变默认不会同步,若希望目录2也同步这些变化,也需要-a选项。
2)验证-v选项
a. 创建测试目录及文档:
[root@svr7~]#mkdir /fdir
[root@svr7~]#touch /fdir/1.txt
b.添加-v选项时,可以看到操作细节信息,比如第一次同步时:
[root@svr7~]#rsync -av /fdir/ /tdir
sending incremental file list
created directory/tdir
./
c. 1.txt//传输文档列表
sent 82 bytes received 34 bytes 232.00 bytes/sec
total size is 0 speedup is 0.00
d. 在目录/fdir/添加文件2.txt,再次跟踪同步信息:
[root@svr7~]#touch /fdir/2.txt
sending incremental file list
./
2.txt//传输文档列表
sent 100 bytes received 34 bytes 268.00 bytes/sec
total size is 0 speedup is 0.00
e. 确认目录1和目录2的内容已经一致:
[root@svr7~]#ls /fdir/ /tdir/
/fdir/:
1.txt 2.txt
/tdir/:
1.txt 2.txt
f. 再次跟踪同步信息,已经无需传输文件:
[root@svr7~]#rsync -av /fdir/ /tdir
sending incremental file list
sent 58 bytes received 12 bytes 140.00 bytes/sec
total size is 0 speedup is 0.00
3)验证-n选项
① 将-n、-v选项合用,可以模拟同步过程,显示需要做哪些操作(但并不真的同步)。 在目录/fdir下新建文件3.txt,测试同步操作:
[root@svr7~]#touch /fdir/3.txt
[root@svr7~]#rsync -avn /fdir/ /tdir/
sending incremental file list
./
② 3.txt//提示同步时会传输哪些文件
sent 78 bytes received 18 bytes 192.00 bytes/sec
total size is 0 speedup is 0.00(DRY RUN)
[root@svr7~]#ls -l /tdir/3.txt//但实际并未真的同步
③ ls:无法访问/tdir/3.txt:没有那个文件或目录
去掉-n选项才会真正同步:
[root@svr7~]#rsync -av /fdir/ /tdir/
sending incremental file list
./
3.txt
sent 114 bytes received 34 bytes 296.00 bytes/sec
total size is 0 speedup is 0.00
[root@svr7~]#ls -l /tdir/3.txt
-rw-r--r--.1 root root 0 1月11 21:46/tdir/3.txt
4)验证--delete选项
rsync同步操作默认只是将目录1的数据同步到目录2,但如果目录2存在多余的文件却并不会去除,除非添加—delete选项。
在目录/fdir、/tdir已经完成同步后,删除/tdir/2.txt文件,再次同步:
[root@svr7~]#rm -rf /fdir/2.txt
[root@svr7~]#rsync -a /fdir/ /tdir/
A.检查发现目标文件夹/tdir下的2.txt文件还在:
[root@svr7~]#ls /fdir//tdir/
/fdir/:
1.txt 3.txt
/tdir/:
1.txt 2.txt 3.txt
B. 这种情况下添加--delete选项再次执行同步,两个目录的内容就一致了:
[root@svr7~]#rsync -a --delete /fdir/ /tdir/
[root@svr7~]#ls /fdir/ /tdir/
/fdir/:
1.txt 3.txt
/tdir/:
1.txt 3.txt
rsync同步基本用法的更多相关文章
- rsync 精确同步文件用法 (转载)
-- include-from 指定目录下的部分目录的方法: include.txt: aa bb ss Command: rsync -aSz --include-from=/home/inclu ...
- SCP 和 rsync限速以及用法
rsync限速以及用法 -- :: 标签:限速 rsync 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xficc.blog. ...
- Linux rsync 同步
rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服务器,以实现文件传输.备份和镜像.相对tar ...
- Rsync同步部署web服务端配置
Rsync同步部署web服务端配置 1,参数详解: -v, --verbose 详细模式输出. -q, --quiet 精简输出模式. -c, --checksum 打开校验开关,强制对文件传输进行校 ...
- shell脚本 inotify + rsync 同步脚本
1.这是很简单的一个 文件监控+触发同步脚本 监控一台服务器下的一个文件夹,发生改变则向另一个个文件夹进行同步. 具体的inotify命令 rsync命令 可以看linux分类下的介绍 inoti ...
- 使用rsync同步目录
本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...
- Windows Linux 之间rsync同步CODE文件
Windows Linux 之间rsync同步CODE文件 一.环境Windows:OS:Microsoft Windows Web Server 2008 SP1IP:192.168.88.197 ...
- rsync同步Nginx日志遇到问题总结
一.目的 将nginx 日志通过普通用户利用rsync公钥认证的方式实时同步到本地服务器上,之后使用elk程序进行处理. 二.遇到问题及解决方法思路 问题1.文件权限:nginx 的日志默认权限如下: ...
- 运维工作中常用到的几个rsync同步命令
作为一个运维工程师,经常可能会面对几十台.几百台甚至上千台服务器,除了批量操作外,环境同步.数据同步也是必不可少的技能.说到“同步”,不得不提的利器就是rsync. 下面结合本人近几年运维工作中对这一 ...
随机推荐
- Angular/Vue多复选框勾选问题
此页面效果以Angular实现,Vue也可按照其大致流程实现,其核心本质没有改变. 功能效果为:页面初始化效果为要有所有角色的复选框,要求初始化默认勾选的角色要显示勾选,之后,能按照最终勾选的状态提交 ...
- eclipse安装相关
一 安装相关 1.下载eclipse(这里我下载了个简单版本) https://www.eclipse.org/downloads/packages/
- Java 中的 final、finally、finalize 有什么不同?
Java 中 final.finally.finalize 有什么不同?这是在 Java 面试中经常问到的问题,他们究竟有什么不同呢? 这三个看起来很相似,其实他们的关系就像卡巴斯基和巴基斯坦一样有基 ...
- C#+Selenium抓取百度搜索结果前100网址
需求 爬取百度搜索某个关键字对应的前一百个网址. 实现方式 VS2017 + Chrome .NET Framework + C# + Selenium(浏览器自动化测试框架) 环境准备 创建控制台应 ...
- day26作业
1.整理TCP三次握手.四次挥手图 2.基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意 ...
- C#3种常见的定时器(多线程)
总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...
- Python爬虫常用小技巧之设置代理IP
设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站.假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问.所以你可以设置一些代理服务器来 ...
- 《JavaScript设计模式与开发实践》-- 迭代器模式
详情个人博客:https://shengchangwei.github.io/js-shejimoshi-diedaiqi/ 迭代器模式 1.定义 迭代器模式: 是指提供一种方法顺序访问一个聚合对象中 ...
- 知否知否,VS Code 不止开源
VS Code, 昨夜始于“开源”,如今“开源”深处渡. 读者看到这句话,也许会有疑惑,为什么两个“开源”都加上了双引号? 其实是笔者有意为之,因为这个两个“开源”的意义有着很大的差别,第一个“开源” ...
- Centos6 Tengine开启http2传输协议
1.前言 最近在优化网站的访问速度,为网站开启http2协议,这个协议有什么优点呢?如下: http2是下一代的传输协议,以后都会普遍用它,是一个趋势. http2有多路复用特性,意思是访问一个域名下 ...