日常运维--rsync同步工具

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_21383435/article/details/97115245

1. 概述

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

rsync功能

  1. 作为命令,实现本地-远程文件同步
  2. 作为服务,实现本地-远程文件同步

rsync特点

  1. 可以镜像保存整个目录树和文件系统
  2. 可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等
  3. 传输效率高,使用同步算法,只比较变化的
  4. 支持匿名传输,方便网站镜像;也可以做验证,加强安全

rsync同类服务

  1. sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
  2. async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。
  3. rsync 远程同步:remote synchronous

2.安装

想使用这个命令,发送端和目标端都要按照这个命令

$  sudo yum install rsync

如果不安装,传数据的的时候,会报错
在这里插入图片描述

3. 案例

[deploy@kylin node]$ rsync -av  /opt/cloudera/parcels deploy@192.168.xx.153:/opt/cloudera1

此处是想把/opt/cloudera/parcels文件夹下的东西,全部传输到另外一台机器下面的/opt/cloudera1目录下.

此处注意点:
目标端:

  1. /opt/cloudera1这个目录需要事先建立好,子目录不需要建立。
  2. /opt/cloudera1这个目录所属用户,应该是deploy@192.168.xx.153:/opt/cloudera1这里的deploy一样。

3. rsync常用选项

-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩

后续用法用到的时候,再次加入

参考:
https://my.oschina.net/ccLlinux/blog/1859116

展开阅读全文

没有更多推荐了,返回首页