什么是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大类
- 本地间类似cp命令的复制方式
- 网络间两台不同IP服务器间数据传输
- 多组服务器之间,以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==>对方的路账号
192.168.200.103==>对方服务器IP
/tmp/==>对方服务器的目录路径
Scp 远程复制
例: scp benet1 192.168.200.103:/tmp/
Scp 把对方的数据拉回来
例:scp root@192.168.0.103:/tmp . benet1
开始部署rsync服务--Rsync服务器端A-Server操作过程
- 配置rsyncd.conf
首先确认软件是否安装:
Rpm -qa rsycn
然后创建rsyncd.conf文件 (文件默认是不存在的)
Yum -y install openssh-clients 安装远程传输
所有的所谓服务其实都是程序,程序就有所谓的配置文件
Rsync --daemon 启动
Rsync的参数是 873