1、Rsync基本概述
1)概念
rsync:remote sync.rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。已支持跨平台,可以在Windows与Linux间进行数据同步。
2)开源
3)备份
4)官网
https://rsync.samba.org
samba服务器:文件共享,cifs:common internet file system
5)端口号:TCP 873
6)运行模式:
C/S:客户端,服务端模式
QQ、端游、手游
B/S:浏览器,服务端模式
页游、网络设备、Zabbix
7)常见备份方式
完全备份:对所有数据做一次全备份
增量备份:只备份上一次备份之变化的数据 【*****】
差异备份:备份是上一次完全备份后变化的数据
常见备份组合:
完全+增量:1次完全+多次增量
完全+差异:1次完全+1次差异
2、Rsync应用场景
数据同步的方式
推:push,上传(upload)
将客户端的数据上传到rsync服务端(backup服务器)
拉:pull,下载(download)
将rsync服务端(backup服务器)的数据下载至客户端
推拉是由客户端发起的
3、Rsync传输模式
Rsync大致使用三种主要的数据传输方式
命令格式
rsync [option...] SRC... [DEST]
类似cp命令
Rsync命令对应选项
-a 归档模式传输,等一-tropgDl
-v 详细模式输出,打印速率,文件数量等
-z 传输时进行压缩以提高效率
-r 递归传输目录及子目录,即目录下的所有目录都同样传输
-t 保持文件时间信息
-o 保持文件属主信息
-p 保持文件权限
-g 保持文件属组信息
-l 保留软链接
-p 显示同步的过程及传输时的进度等信息
-D 保持设备文件信息
-L 保留软链接指向的目标文件
-e 使用的信道协议,指定替代rsh的shell程序
--exclude=PATTERN 指定排除不需要传输的文件模式
--exclude-from=file 文件名所在的目录文件
--bwlimit=100 限速传输
--partial 断点续传
--delete 让目标目录和源目录数据保持一致
4、示例
文件同步
~]# rsync -avz /etc/fstab /data/
sending incremental file list
fstab
目录同步1
~]# rsync -avz /data/ /opt/
sending incremental file list
./
fstab
目录同步2
~]# rsync -avz /data /opt/
sending incremental file list
data/
data/fstab
完全同步:加--delete,源和目标内容完全一致
~]# rsync -avz /data/ /opt/ --delete
总结:
如果要同步的是目录里面的内容,命令中目录的后面必须要加"/";
如果要同步的是目录本身及其内容,则命令中只需写目录名
5、远程方式
使用ssh协议,过程是加密的,类似scp命令(secure cp)
tcp传输过程,每传输一个数据都会有连接的建立,维护,断开的过程
Pull: rsync [option...] [USER@]HOST:SRC... [DEST]
Push:rsync [option...] SRC... [USER@]HOST:DEST
~]# rsync -avz root@192.168.56.31:/root/hello.txt .
~]# rsync -avz /etc/hosts root@192.168.56.31:/etc/
6、问题
1)用户权限问题
2)用户身份暴露了,安全隐患
3)文件路径暴露了,安全隐患
守护进程
rsync自身非常重要的功能(不使用系统用户,更加安全)