1、RSYNC数据备份

1.1 rsync服务简介

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

1.2 rsync特点和优势

  • rsync功能

  • 作为命令,实现本地-远程文件同步

  • 作为服务,实现本地-远程文件同步

  • rsync特点

  • 可以镜像保存整个目录树和文件系统

  • 可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等

  • 传输效率高,使用同步算法,只比较变化的

  • 支持匿名传输,方便网站镜像;也可以做验证,加强安全

  • rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽

  • rsync同类服务类型

  • sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。

  • async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。

  • rsync 远程同步:remote synchronous

  • 常见备份分类

    • 完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地
    • 差量备份:备份上次完全备份以后有变化的数据(他针对的上次的完全备份,他备份过程中不清除存档属性)
    • 增量备份:备份上次备份以后有变化的数据.(他才不管是那种类型的备份,有变化的数据就备份,他会清除存档属性)

注意: 通常结合shell脚本使用,效率更高。官方网站:https://rsync.samba.org/

1.3 rysnc运行模式简介

  • 运行模式和端口

  • 采用C/S模式(客户端/服务器模式)[ 就是一个点到点的传输,直接使用rsync命令 ]

  • 端口873

  • 相关名词解释

  • 发起端:负责发起rsync同步操作的客户机叫做发起端,通知服务器我要备份你的数据

  • 备份源:负责相应来自客户机rsync同步操作的服务器叫做备份源,需要备份的服务器

  • 服务端:运行rsyncd服务,一般来说,需要备份的服务器

  • 客户端:存放备份数据

  • rysncd服务工作原理:rysncd服务通过Xinetd管理,使用rsyncd服务来同步是先通过xinetd监听873号端口,如果rsync进来的是873号端口,那么xinetd就会通知它所管辖的rsync服务来做回应,接下来就是rsync俩服务于之间的通讯,如下图所示:

1.4 数据同步方式

两种数据同步方式:

  • push推方式: 一台主机负责把数据传送给其他主机,服务器开销很大,比较适合后端服务器少的情况
  • pull拉方式: 所有主机定时去找一主机拉数据,可能就会导致数据缓慢

  • 常用的数据同步方式:
  • 推:目的主机配置为rsync服务器,源主机周期性的使用rsync命令把要同步的目录推过去(需要备份的机器是客户端,存储备份的机器是服务端)rsync -avz 源路径 user@远端服务器IP:目的路径

  1. [root@centos7-127 tmp]# mkdir test1 # 创建测试文件见test1
  2. [root@centos7-127 tmp]# cp /etc/passwd ./test1/ # 复制/etc/passwd作为测试文件
  3. [root@centos7-127 tmp]# ll ./test1/
  4. 总用量 4
  5. -rw-r--r-- 1 root root 2567 9 17 17:43 passwd
  6. [root@centos7-127 tmp]# rsync -avz /tmp/test1 root@192.168.87.128:/tmp/ # 将127上的/tmp/test1推到128的/tmp目录下
  7. root@192.168.87.128's password: # 输入远端服务器root密码
  8. sending incremental file list
  9. test1/
  10. test1/passwd
  11. sent 1,127 bytes received 39 bytes 155.47 bytes/sec
  12. total size is 2,567 speedup is 2.20 # 传输完成
  13. [root@centos7-128 tmp]# ll ./test1 # 在128上查看发现数据推送成功
  14. 总用量 4
  15. -rw-r--r-- 1 root root 2567 9月 17 17:43 passwd
  • 拉:源主机配置为rsync服务器,目的主机周期性的使用rsync命令把要同步的目录拉过来(需要备份的机器是服务端,存储备份的机器是客户端)rsync -avz user@远端服务器IP:源路径 目的路径

  1. [root@centos7-127 tmp]# rsync -avz root@192.168.87.128:/tmp/test/ /tmp/test # 从128拉取数据
  2. root@192.168.87.128's password:
  3. receiving incremental file list
  4. ./
  5. 1.txt
  6. 2.txt
  7. 3.txt
  8. 4.txt
  9. 5.txt
  10. 6.txt
  11. 7.txt
  12. 8.txt
  13. 9.txt
  14. a.txt
  15. b.txt
  16. c.txt
  17. d.txt
  18. e.txt
  19. f.txt
  20. sent 312 bytes received 834 bytes 152.80 bytes/sec # 数据传输完成
  21. total size is 0 speedup is 0.00
  22. [root@centos7-127 tmp]# ll ./test # 查看发现数据拉取成功
  23. 总用量 0
  24. -rw-r--r-- 1 root root 0 9月 16 10:38 1.txt
  25. -rw-r--r-- 1 root root 0 9月 16 10:38 2.txt
  26. -rw-r--r-- 1 root root 0 9月 16 10:38 3.txt
  27. -rw-r--r-- 1 root root 0 9月 16 10:38 4.txt
  28. -rw-r--r-- 1 root root 0 9月 16 10:38 5.txt
  29. -rw-r--r-- 1 root root 0 9月 16 10:38 6.txt
  30. -rw-r--r-- 1 root root 0 9月 16 10:38 7.txt
  31. -rw-r--r-- 1 root root 0 9月 16 10:38 8.txt
  32. -rw-r--r-- 1 root root 0 9月 16 10:38 9.txt
  33. -rw-r--r-- 1 root root 0 9月 16 10:26 a.txt
  34. -rw-r--r-- 1 root root 0 9月 16 10:26 b.txt
  35. -rw-r--r-- 1 root root 0 9月 16 10:26 c.txt
  36. -rw-r--r-- 1 root root 0 9月 16 10:26 d.txt
  37. -rw-r--r-- 1 root root 0 9月 16 10:26 e.txt
  38. -rw-r--r-- 1 root root 0 9月 16 10:26 f.txt

2 Rsync实验测试

2.1 实验环境说明

|:-

centos7服务搭建常用服务配置之二:Rsync+sersync实现数据实时同步的更多相关文章

  1. CentOS7下Rsync+sersync实现数据实时同步

    近期公司要上线新项目,后台框架选型我选择当前较为流行的laravel,运行环境使用lnmp. 之前我这边项目tp32+apache,开发工具使用phpstorm. 新建/编辑文件通过phpstorm配 ...

  2. CentOS7+rsync+sersync实现数据实时同步

    一.全网数据备份方案 1.需要备份的文件目录有(原则上,只要运维人员写入或更改的数据都需要备份)./data,/etc/rc.local,/var/spool/cron/root等,根据不同都服务器做 ...

  3. centos7服务搭建常用服务配置之一:SSH

    目录 1 SSH服务协议 1.1 ssh服务协议说明 1.2 ssh服务工作机制 1.3 ssh加密技术说明 1.3.1 ssh实现安全链接建立,利用要是和锁头 1.3.2 ssh加密算法 1.4 s ...

  4. centos7中搭建ftp服务

    博客搬家: centos7中搭建ftp服务 最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程.过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的 ...

  5. centos 配置rsync+inotify数据实时同步2

    一.Rsync服务简介 1. 什么是Rsync 它是一个远程数据同步工具,它在同步文件的同时,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“rsync算法”来使本地和远程两个主机 ...

  6. CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步

    一.rsync 概念 1.rsyncrsync是类unix/linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同 ...

  7. centos7下搭建nfs服务

    现在有3台服务器 s1(主),s2(从), s3(从)需要实现文件实时同步,我们可以安装Nfs服务端和客户端来实现! 一.安装 NFS 服务器所需的软件包: yum install -y nfs-ut ...

  8. Linux(Centos7) 实例搭建 FTP 服务

    本文以 CentOS 7.2 64位系统为例,使用 vsftpd 作为 FTP 服务端,FileZilla 作为客户端.指导您如何在 Linux 云服务器上搭建 FTP 服务. 操作步骤 安装 vsf ...

  9. Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录

    1.安装SVN服务[root@bogon ~]# yum -y install subversion 2.查看svnserve安装目录[root@bogon ~]# whereis svnserves ...

随机推荐

  1. linux 批量创建用户

    user 模块添加用户 python -c 'from passlib.hash import sha512_crypt; import getpass; print (sha512_crypt.en ...

  2. Activiti服务类- FormService服务类

    转自:https://www.cnblogs.com/liuqing576598117/p/9814953.html 1.获取//通过流程定义ID获取表单字段集合StartFormData start ...

  3. STS工具各版本下载网址

    官网网址:https://spring.io/tools3/sts/legacy

  4. 牛客小白月赛11 Rinne Loves Xor

    题目链接:https://ac.nowcoder.com/acm/contest/370/I code: #include<bits/stdc++.h> using namespace s ...

  5. [Luogu] 染色

    https://www.luogu.org/problemnew/show/P2486 qizha 为什么会wa #include <cstdio> #include <cmath& ...

  6. 微服务springboot视频最新SpringBoot2.0.3版本技术视频教程【免费学习】

    超火爆的springboot微服务技术怎么学,看这里,springboot超详细的教程↓↓↓↓↓↓https://ke.qq.com/course/179440?tuin=9b386640 01.sp ...

  7. 分页——为Mybatis配置PageHelper

    1.pom.xml追加 pagehelper : 4.1.4 2.mappers.xml中追加 <plugins> <plugin interceptor="com.git ...

  8. 5.4.2 mapFile读写和索引

    5.4.2         mapFile (1)定义 MapFile即为排序后的SequeneceFile,将sequenceFile文件按照键值进行排序,并且提供索引实现快速检索. (2)索引 索 ...

  9. TCP/IP协议入门

    TCP/IP协议入门 1. 简介 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议.它是网络通信的一套协议集合. 先 ...

  10. 重读APUE(6)-umask

    umask函数设置当前进程的权限为屏蔽字:系统会有一个默认的屏蔽字,为了确保创建文件具有的权限位成功被设置,需要使用umask将屏蔽字置0: 系统屏蔽字用shell查看,比如得到如下结果,其为八进制表 ...