二十七、rsync同步工具
1.什么是rsync?
Rsync是一款开源的、快速的,多功能的,可实现全量及增量的本地或者远程数据同步备份的优秀工具。windows和linux都可以。
官网:http:www.samba.org/ftp/rsync/rsync.html
2.rsync简介
类似scp,但是优于它,增量,scp是全量的,但是rsync又不是加密的。也可以在本地不同目录间进行拷贝,全量和增量都可以。当然,也可以进行删除文件和目录。
所以rsync=scp\cp\rm 优于他们
在同步数据的时候,有自己独特的算法,仅同步大小或者最后修改时间发生变化的文件或者目录,也可以根据权限、内容变化等特点进行同步,所以是增量同步。rsync效率很高。
3.RSYNC的工作场景:
两个服务器之间的备份:
1)定时同步:定时同步不能频繁,因为定时同步消耗cpu,文件需要不断的对比,如果频繁,存在风险,
2.)实时同步:区别于定时同步,对相关的目录进行监控,有变化就进行同步,不对老的目录或者文件进行检查同步。
有两种:rsync+inotify rsync+sersync (inotify和sersync都是监控目录的变化)
在技术上,后端存储和数据库都是实时同步的,而存储一般用到的技术就是rsync。
4.方案选择:

在跨机房选择备份的时候,方案二优于方案一,方案一占用带宽较大。
5.RSYNC三种工作方式:
1)单个主机本地之间的数据传输:类似CP
rsync -azv /etc/hosts /tmp/ :类似CP,表示拷贝,如果命令执行两边,对比发现,第二次没有执行,因为没有变化不在拷贝
rsync -r --delete /temo/ /data/ 表示将/temo/目录下面的所以内容拷贝到/data/下面,/data/中的内容全部删除,简而言之:/temo/==/data/
2)借助如SSH等工具(类似SCP),两个或者多个主机之间
推:rsync -avz -e 'ssh -P 52113' /etc/hosts olbdoy1@10.0.0.8:~
拉:rsync -avz -e 'ssh -P 52113' oldboy1@10.0.0.9:~/hosts /home/oldboys1/
参数说明:-v 进度说明 -a 归档模式,递归,保持属性等 -z 压缩传输 -e 指定 哪个协议通道
3)进程模式传输(socket)守护进程(重点)
1.查看是否有此软件:
which rsync | rpm -qa rsync
[root@djw ~]# which rsync
/usr/bin/rsync
[root@djw ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
2.查看版本(3.0.6)相比2版本,最大的改变是一边对比一边同步

3.rsync的配置文件,默认是不存在的:/etc/rsyncd.conf (服务端)
#this is rsync server dangjingwei
uid = rsync
gid = rsync
#安全无需考虑,所以是no
use chroot = no
#有多少个客户端可以同时连接
max connections = 200
timeout = 300
#将进程号放到文件中,找到文件中的进程号后,直接命令杀除,不需要再进行查找进程号后杀除
pid file = /var/run/rsyncd.pid
#类似一把锁,网络传输也有先后顺序
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[oldboy]
#共享的目录
path=/oldboy/
ignore errors
#可读可写
read only = false
list = false
hosts allow = 192.168.0.0/24
hosts deny = 0.0.0.0/32
#虚拟用户和密码
auth users = rsync_backup :#设置允许连接服务器的账户,此账户可以是系统中不存在的用户
secrets file = /etc/rsync.password: #密码验证文件名,该文件权限要求为只读,建议为600,仅在设置auth users后有效
4.启动:rsync --daemon(已守护进程的方式启动)
5.进行查看 netstat -lntup |greo 873
6.那么启动rsync的用户就要对相应的同步目录具有权限,则:mkdir -p /oldboy/ chown -R rsync.rsync /oldboy
7.如果再授权的时候没有此用户,则需要创建: useradd rsync -s /sbin/nologin
8.将虚拟用户放入:echo "rsync_backup:123456">/etc/rsync.password
9.权限变成只读:chomd 600 /etc/rsync.password
10.客户端配置
1)有rsync :rpm -qa rsync
2)虚拟用户密码 echo"123456">/etc/rsync.password
3)权限为600:chmod 600 /etc/rsync.password
11.操作
无论是推还是拉,都是在客户端进行的:
拉到客户端:
1)rsync -avz rsync_backup@192.168.0.104::oldboy /dangjingwei/data1 --password-file=/etc/rsync.password
2)rsync -avz rsync://rsync_backp@192.168.0.104/oldboy /dangjingwei/data1 --password-file=/etc/rsync.password
推到服务端:
1)rsync -avz /data1 rysnc_backup@192.168.0.104::oldboy --password -file=/etc/rsync.password
2) rsync -avz /data1 rsync://rsync_backup@192.168.0.104::oldboy --password-file=/etc/rsync.password
二十七、rsync同步工具的更多相关文章
- rsync同步工具学习笔记
rsync同步工具 1.rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows等多种操作 ...
- linux rsync同步工具
linux rsync同步工具 1.rsync介绍rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows ...
- rsync同步工具的配置与使用
一.什么是rsync?rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具. rsync官网 http://rsync.samba.org/ 二.rsync的工 ...
- Linux之rsync同步工具介绍+inotify同步
1.rsync介绍 Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作平台. rsync, ...
- RSYNC 同步工具
Rsync 数据同步工具 一.Rsync简介 1.检测一下你的机器上是否已经安装 --->可以通过yum安装 或者 源码 Server 192.168.201.151 Client ...
- 日常运维--rsync同步工具
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而 ...
- 二十八、rsync同步工具深入
1.将rsync服务加入到自启动文件rc.local echo "/usr/bin/rsync --daemon" >>/etc/rc.local tail -l rc ...
- Rsync同步工具
1.Rsync介绍 1.1 什么是Rsync? Rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接 ...
- Rsync同步工具安装文档
(1)下载Rsync源代码进行安装 (2)1' cd rsync 2' ./configure --prefix=/usr/local/rsync 3' make 4' make ...
随机推荐
- VS.NET中的常用控件和类型的命名规范
表1 命名规范 VS名称 简写 VS名称 简写 数据类型 Array arr Boolean bln Byte byt Char Chr Date Time dtm Decimal dtm Doub ...
- promise 核心 几个小问题
1.如何改变pending的壮体 抛出异常.pending变为rejected // throw new Error('fail') 内部抛出异常也这样 reason为抛出的error resol ...
- BZOJ 4084 [Sdoi2015]双旋转字符串
题解:hash 至今不会unsigned long long 的输出 把B扔进map 找A[mid+1][lenA]在A[1][mid]中的位置 把A[1][mid]贴两遍(套路) 枚举A[mid+1 ...
- CTF -攻防世界-web高手区-ics-06
打开网址 根据题意点开报表中心(因为其他的点开都一样,不信你试试) 会看见id =1 想到burp爆破id 所以打开burp抓包(不会抓包的百度 或者看我web新手区,有一题就有抓包 我说的很详细) ...
- Iterator迭代器,获取集合元素
* Object next() :返回下一个元素 * boolean hasNext():判断时是否有元素可以获取 public static void main(String[] args ...
- php中const和define的区别
define部分:宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段.(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议.)宏的语法为:#define 宏名称 宏值作为一种建议和一种广大 ...
- HTTPS(身披SSL协议的HTTP)
参考链接: HTTP 与 HTTPS 的区别 HTTPS科普扫盲帖 HTTPS小结 HTTP 和 HTTPS 区别 HTTP是明文传输未加密,安全性差,HTTPS(HTTP + SSL)数据传输是加密 ...
- go语言使用
设置 package control 在 Preferences->Package Setting->Package Control->Settings - User 中加入 cha ...
- PAT B1045 快速排序
题目如下: 1045 快速排序 (25 point(s)) 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到 ...
- 股票数据的原始数据形态&数据驱动来设计金融股票业务场景
1. 数据源 其实金融数据没大家想象的那麽复杂,只需要最原始状态的数据,保存到本地即可以. 那麽,怎样才是股票数据的原始状态呢.那就看看1920's年代的道氏理论,他是怎样计算道琼斯指数,那麽他采用的 ...