1. Rsync
rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具。
功能一:
可使本地主机不同分区或目录之间及本地和远程两台主机之间的数据快速同步镜像,远程备份等功能。适合linux/windows等系统
功能二:
可以再本地主机的不同分区或目录之间进行全量或者增量的复制数据
注意:
rsync的目的是实现本地主机和远程主机上之间的数据快速复制同步镜像,远程备份的能力(包括本地推到远程,远程拉到本地两种同步方式),也可以实现本地不同路径下文件的同步。但不能实现远程路径1到远程路径2之间的同步(scp可以实现)。
功能一:类似于scp命令,但是scp每次都是全量拷贝,而rsync可以进行增量拷贝,scp拷贝数据时加密的,但是rsync是不加密的。
功能二:有类似于cp命令,但是cp每次都是全量拷贝,而rsync可以进行增量拷贝
rsync还可以实现文件和目录的删除功能,这又是相当于RM命令,rsync相当于scp,cp,rm命令。并且还由于他们。
在同步备份时,默认情况下,rsync通过其独特的“quick check”算法,仅同步大小或者最后修改时间发生变化的文件或目录(也可根据权限,属主等变化同步,需要制定参数)。甚至是只同步一个文件里变化的内容部分,所以可以实现快速的同步数据的功能。
2.Rsync特性
1)支持拷贝特殊文件如链接,设备,属组,权限等 2)可以有排除指定文件或目录同步的功能,相当于打包命令tar 3)可以保持原来文件或目录的权限,时间,软硬链接等所有属性均不改变。 4)可实现增量同步,即只同步发生变化的数据,因此数据传输效率更高 5)可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身不对传输数据加密),也可以通过直接的socket链接(有服务端和客户端) 6)支持匿名(不需要超级用户权限)的或认证的进程模式传输,方便进行数据备份及镜像。
3.Rsync工作方式
(1).本地文件系统上实现同步。命令行语法格式为上述"Local"段的格式。类似于cp命令的功能
(2).本地主机使用远程shell和远程主机通信。命令行语法格式为上述"Access via remote shell"段的格式。类似于scp命令的功能,基于ssh通道来传输数据
(3).本地主机通过网络套接字连接远程主机上的rsync daemon。命令行语法格式为上述"Access via rsync daemon"段的格式。这是rsync自身最重要的功能,socket守护进程
前两者的本质是通过管道通信,即使是远程shell。而方式(3)则是让远程主机上运行rsync服务,使其监听在一个端口上,等待客户端的连接。
3.0 Rsync参数
紫色字符表示不固定,根据自己需求调整。红色字符表示警告。-a 归档模式传输, 等于-tropgDl -v 详细模式输出, 打印速率, 文件数量等 -z 传输时进行压缩以提高效率 -r 递归传输目录及子目录,即目录下得所有目录都同样传输 -t 保持文件时间信息 -o 保持文件属主信息 -p 保持文件权限 -g 保持文件属组信息 -l 保留软连接 -P 显示同步的过程及传输时的进度等信息 -D 保持设备文件信息 -L 保留软连接指向的目标文件 -e 使用的信道协议,指定替代rsh的shell程序 --exclude=PATTERN 指定排除不需要传输的文件模式 tar命令的排除也是--exclude -X==--exclude-from=FILE --exclude-from=file 文件名所在的目录文件 --bwlimit=100 限速传输 --partial 断点续传 --delete 让目标目录和源目录数据保持一致 谨慎使用
Rsync安装
yum -y install rsync #启动rsync服务 systemctl start rsyncd.service systemctl enable rsyncd.service #检查是否已经成功启动 netstat -lnp|grep 873
3.1 rsync数据传输模式