什么是Rsync?

Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具。Rsync软件适用于unix/linux/windows等多种操作系统平台。

小提示:利用Rsync还可以实现删除文件和目录的功能,这又是相当于rm命令!

Rsync的特性如下:

支持拷贝特殊文件如链接文件,设备等

可以有排除(tar?find?)指定文件或目录同步的功能,相当于打包命令tar的排出功能

可以做到保持源文件或目录的权限,时间,软连接,属主、组等属性均不改变相当于cp的-p参数

可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar-N)

可以使用rcp、rsh、ssh等方式来配合传输文件(rstnc本身不对数据加密)

可以通过socket(进程方式)传输文件和数据(服务端和客户端)

支持匿名的或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。

Rsync的优点:

类似cp命令,但rsync是增量复制工具,还类似于scp命令,但rsync还是增量的。

Rsync的缺点:

大量小文件同步的时候,比对时间较长,有的时候,同步过程中,rsync进程可能会停止。

同步大文件,10G这样的文件有时也会出问题,中断。未完整同步前,是隐藏文件,可以通过续传(--partial)等参数实现传输。

Rrync的企业工作场景说明

两台服务器之间数据同步(定时任务+备份数据)即crond+rstnc

借助crond+rsync把所有客户服务器数据同步到备份服务器

Rsync的工作方式有3大类

  1. 本地间类似cp命令的复制方式
  2. 网络间两台不同IP服务器间数据传输
  3. 多组服务器之间,以socket进程的方式启动Rsync进程进行监听

Rsync 命令常用参数选项说明:

-v 详细模式输出,传输时的进度等信息

-z 传输时进行压缩以一高传输效率,--compres-level=NUM可按级别压缩。

-a 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgDl

--delete 让源目录SRC和目标目录数据DST一致,让对方跟自己

--bwlimit     限速参数

-e ‘ssh -p8888’  同步传输时指定端口号

保持一致(你有的我没有我就把你有的我没有的删了)

如何表示网络中其他服务器的登录地址:

例:rsync -avz /root/benet  root@192.168.200.103:/tmp/

 root@192.168.200.103:/tmp/  root==>对方的路账号

对方服务器IP

对方服务器的目录路径

Scp 远程复制

例:

Scp 把对方的数据拉回来

例:scp root@192.168.0.103:/tmp . benet1

开始部署rsync服务--Rsync服务器端A-Server操作过程

  1. 配置rsyncd.conf

首先确认软件是否安装:

Rpm -qa rsycn

然后创建rsyncd.conf文件 (文件默认是不存在的)

Yum -y install  openssh-clients   安装远程传输

所有的所谓服务其实都是程序,程序就有所谓的配置文件

Rsync --daemon 启动

Rsync的参数是 873