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同步工具的更多相关文章

  1. rsync同步工具学习笔记

    rsync同步工具 1.rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows等多种操作 ...

  2. linux rsync同步工具

    linux rsync同步工具 1.rsync介绍rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows ...

  3. rsync同步工具的配置与使用

    一.什么是rsync?rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具. rsync官网 http://rsync.samba.org/ 二.rsync的工 ...

  4. Linux之rsync同步工具介绍+inotify同步

    1.rsync介绍 Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作平台. rsync, ...

  5. RSYNC 同步工具

    Rsync 数据同步工具 一.Rsync简介 1.检测一下你的机器上是否已经安装  --->可以通过yum安装  或者  源码 Server  192.168.201.151 Client    ...

  6. 日常运维--rsync同步工具

    rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而 ...

  7. 二十八、rsync同步工具深入

    1.将rsync服务加入到自启动文件rc.local echo "/usr/bin/rsync --daemon" >>/etc/rc.local tail -l rc ...

  8. Rsync同步工具

    1.Rsync介绍 1.1 什么是Rsync? Rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接 ...

  9. Rsync同步工具安装文档

    (1)下载Rsync源代码进行安装 (2)1'   cd rsync 2'   ./configure   --prefix=/usr/local/rsync 3'   make 4'   make  ...

随机推荐

  1. springboot-war

    预览 1.pom.xml 与springboot-jar-web的区别是: 将 <packaging>jar</packaging> 替换成: <packaging> ...

  2. 基于Docker本地运行Kubernetes

    基于Docker本地运行Kubernetes 概览 下面的指引将高速你如何通过Docker创建一个单机.单节点的Kubernetes集群. 下图是最终的结果: 先决条件 \1. 你必须拥有一台安装有D ...

  3. [极客大挑战 2019]BabySQL

    0x00 知识点 双写绕过 简单测试一下,发现or在登陆过程被过滤,想到使用oorr试试,结果成了?! 最后多测试一下,发现from union select 这些关键函数都被替换为空 本题直接进行常 ...

  4. 基于python的小波阈值去噪算法

    https://blog.csdn.net/alwaystry/article/details/52756051 发表于 2018-01-10 16:32:17 嵌入式设计应用 +关注 小波图像去噪原 ...

  5. VB 正则匹配中的括号

    1.正则表达式失灵(excel2016) 案列:提取一段字符串中数字并求和 Function sumnum(x) Dim regexp As Object Set reg = CreateObject ...

  6. 零基础程序员入门Linux系统 !如何快速恢复系统?

    新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题.那么如何快速解决呢?本文就先给你一个后悔药,让你快速备份并恢复Linux系统.本文将以Ubuntu为例,在这之前,你需要一台服务器 ...

  7. 1.4CAD2017绘图基础

    1.新建(ctrl+n) 命令:new 回车——默认样板(acadiso.dwt) 2.打开(ctr+o) 3.保存(ctrl+S) 4.鼠标的应用: 左键:点击拖选等: 中间滚轮:a.滚动,放大缩小 ...

  8. 吴裕雄--天生自然MySQL学习笔记:MySQL 运算符

    要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算符包括: 在除法运算和模运算中, ...

  9. 吴裕雄--天生自然MySQL学习笔记:MySQL WHERE 子句

    MySQL 表中使用 SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是 SQL SELECT 语句使用 WHERE ...

  10. 关于PHP索引数组unset某key后json_encode相关问题踩坑记录

    <?php $a = [1,2,3]; var_dump(json_encode($a)); #string(7) "[1,2,3]" unset($a[0]); var_d ...