Rsync服务基本概述
Posted wesley-linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rsync服务基本概述相关的知识,希望对你有一定的参考价值。
Rsync基本概述
rsync是一款开源,快速,多功能,可实现全量及增量的本地或远程数据同步备份的优秀工具,rsync软件适用于Unix Linux windows等多平台
Rsync简介
rsync英文称为remote synchronizetion rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝
rsync还可以在本地主机的不同分区或目录之间全量及曾量的复制数据,这又类似cp命令。但是同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝
在同步数据的时候,默认情况下,rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限、属主等属性的变化同步,但是需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可是实现快速的同步备份数据
Rsync官方地址
rsync监听端口: 873
Rsync运行模式: C/S
附述: 利用rsync还可以实现删除文件和目录的功能,这又相当于rm命令,一个rsync相当于scp、cp、rm,但是还优于他们的每一个命令
Rsync的特性 | |
---|---|
支持拷贝特殊文件,如连接文件、设备等。 | |
可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。 | |
可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变 –p。 | |
可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar-N)。 | |
可以使用rcp、rsh、ssh等方式来配合传输文件(rsync本身不对数据加密)。 | |
可以通过socket(进程方式)传输文件和数据(服务端和客户端)***** | |
支持匿名的活认证(无需系统用户)的进程模式传输,可以实现方便安全的进行数据备份和镜像 |
生产场景架构集群备份方案 | |
---|---|
1.借助cron+rsync把所有客户服务器数据同步到备份服务器。 | |
2.针对公司重要数据备份混乱状况和领导提出备份全网数据的解决方案。 | |
3.通过本地打包备份,然后rsync结合inotify应用把全网数统一备份到一个固定存储服务器,然后在存储服务器上通过脚本检查并报警管理员备份结果。 | |
4.定期将IDC机房的数据 备份公司的内部服务器,防止机房地震及火灾问题导致数据丢失。 | |
5.实时同步,解决存储服务器等的单点问题。 |
备份类型介绍
完全备份
增量备份
完全备份
假设Client上有file{1..3}文件 ,Server上有file1文件,现在需要将客户端上的数据备份至服务端
全量备份,每次备份都将所有数据备份到服务器端 ,造成磁盘占用的,效率低下
增量备份
假设Client上有file{1..3}文件 ,Server上有file1文件,现在需要将客户端上的数据备份至服务端
增量备份,将客户端上的file2,file3 增量备份至服务器端( 提高了备份效率,节省空间,适合异地备份 )
Rsync的使用场景
Rsync的数据同步模式
1)推;所有主机推送本地数据至Rsync备份服务器,会导致数据同步缓慢,此种方式比较适合少量的数据备份
2)拉;所有主机拉取Rsync备份服务器上的数据
2)大量服务器备份场景 ( 多server备份 )
4)异地备份的实现思路
Rsync的传输模式
本地方式
远程方式
守护进程
1)本地传输模式
单个主机本地之间的数据传输(此时类似于cp命令)
#本地拷贝语法
Local: rsync [OPTION...] SCR... [DEST]
rsync :命令主体
[OPTION] : 选项
SRC... : 本地源文件
[DEST] : 本地目标文件
#示例
[root@backup ~]# rsync -avz /etc/passwd /tmp
2)远程传输方式
附言:Rsync借助SSH协议同步数据存在的缺陷
通过ssh通道传输数据,类似scp命令
1.使用系统用户(不安全)
2.使用普通用户(会导致权限不足情况)
#pull拉取数据命令
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
#pull拉取数据示例
[root@backup ~]# rsync -avz root@172.16.1.41:/etc/hostname ./ #拉取远程文件
[root@backup ~]# rsync -avz root@172.16.1.41:/root/ /backup/ #拉取远程目录下的所有文件
[root@backup ~]# rsync -avz root@172.16.1.41:/root /backup/ #拉取远程目录以及目录下的所有文件
Pull #拉取, 下载
rsync #备份命令
[options] #选项
[USER@] #目标主机的系统用户
HOST #目主机IP地址或域名
SRC... #目标主机源文件
[DEST] #下载至本地哪个位置
#push推送数据命令
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
#push推送数据示例
rsync -avz /backup/2018-10-01 root@172.16.1.41:/tmp/
Push #推送, 上传
rsync #备份命令
[options] #选项
SRC... #本地源文件
[USER@] #目标主机的系统用户
HOST #目主机IP地址或域名
[DEST] #目标对应位置
3)守护进程传输方式
rsync自身非常重要的功能(不使用系统用户,更加安全)
#pull拉取数据命令
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
#1.拉取rsync备份服务的"backup模块"数据至本地/mnt目录
[root@nfs01 ~]# rsync -avz rsync_backup@192.172.16.1.41::backup/ /mnt/ --password-file=/etc/rsync.password
rsync #命令
[OPTION...] #选项
[USER@] #远程主机用户(虚拟用户)
HOST:: #远程主机地址
SRC... #远程主机模块(不是目录)
[DEST] #将远程主机数据备份至本地什么位置
#push推送数据命令
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
#2.将本地/mnt目录推送至rsync备份服务器的backup模块
[root@nfs01 ~]# rsync -avz /mnt/ rsync_backup@192.172.16.1.41::backup/ --password-file=/etc/rsync.password
rsync #命令
[OPTION...] #选项
SRC... #远程主机模块(不是目录)
[USER@] #远程主机用户(虚拟用户)
HOST:: #远程主机地址
[DEST] #将远程主机模块备份至本地什么位置
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 #让目标目录和源目录数据保持一致
--password-file=xxx #使用密码文件
以上是关于Rsync服务基本概述的主要内容,如果未能解决你的问题,请参考以下文章