大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第7篇文章

文章目录

  • 前言
  • 一. rsync概述
  • 二. rysnc 优缺点
    • 1. 优点:
    • 2. 缺点:
  • 3. 常见备份分类
  • 三. rysnc 的应用场景
    • 场景一: 推
    • 场景二: 拉
    • 场景三: 大量数据备份场景
    • 场景四: 异地备份
  • 四. rysnc 的三种工作模式
  • 五. rsync命令选项
  • 总结

前言

上篇文章我们探讨了cp和scp的区别,cp只能本地复制,SCP可以实现多台服务器之间进行数据拷贝和传输,但是只能全部拷贝,我们如果想实现增量拷贝,貌似有些困难。 如果想实现增量拷贝有方案吗?

当然有,rysnc就是其中的一个解决方案,今天我们就来探讨一下关于rsync的那些事。

一. rsync概述

rsync是Linux系统下的数据镜像备份工具,使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

rsync英文称为remote synchronizetion,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。

rsync还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这又类似cp命令。但是同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。

官方网站:https://rsync.samba.org/

二. rysnc 优缺点

1. 优点:

1)可以增量备份,支持socket(daemon),集中备份(支持推拉,都是以客户端为参照物);socket(daemon)需要加密传输,可以利用vpn服务或ipsec服务。

2)可以限速进行数据的备份或恢复操作。

3)远程SHELL通道模式还可以加密(SSH)传输

4)支持匿名认证(无需系统用户)的进程模式传输,可以实现方便安全的进行数据备份和镜像

5)保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变 –p

6)可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。(–exclude)

7) 支持压缩传输,在传输过程中实行压缩及解压操作,占用带宽更少

2. 缺点:

1)大量小文件时进行同步备份,比对的时间较长,有时候会导致rsync进程停止运行或者进程挂起;
解决方法:
a、打包后再同步;
b、drbd(文件系统同步复制block)。

2)同步大文件,比如:10G这样的,有时也会出现问题,导致rsync进程中断,未完整同步前,是隐藏文件,但是会占用磁盘空间(ls -al查看)。直到同步完成后,将隐藏文件改成正常文件。而且,每中断一次,生成一个隐藏文件。

3. 常见备份分类

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

三. rysnc 的应用场景

场景一: 推

示意图如下:

场景二: 拉

示意图如下:

场景三: 大量数据备份场景

示意图如下:

场景四: 异地备份

示意图如下:

四. rysnc 的三种工作模式

  • 本地方式
    本地复制模式,类似于cp
  • 远程方式
    隧道传输模式,类似于scp,推和拉的方式
  • 守护进程
    以守护进程socket 的方式传输数据,(rsync 本身的功能),最常用

五. rsync命令选项

参数 作用
a 权限保存模式,存档递归,保持属性
r 复制所有下面的资料,递归处理
-p 保留档案权限,文件原有属性。
-t 保留时间点,文件原有时间。
-g 保留原有属组。
-o 保留档案所有者(root only)。
-D –devices 保留device资讯(root only)。
-l 复制所有的连接,拷贝连接文件。
-z 压缩模式,当资料在传送到目的端进行档案压缩。
-H 保留硬链接文件。
-A 保留ACL属性文件,需要配合–perms。
-P -P参数和 --partial --progress 相同,只是为了把参数简单化,表示传进度。
–version 输出rsync版本。
-v 复杂的输出信息。
u 仅仅进行更新,也就是跳过已经存在的目标位置,并且文件时间要晚于要备份的文件,不覆盖新的文件。
–port 定义rsyncd(daemon)要运行的port(预设为tcp 873)。
–delete 删除那些目标位置有的文件而备份源没有的文件。
–password-file=FILE 从 指定密码文件中获取密码。
bwlimit=KBPS 限制 I/O 带宽。
filter “-filename” 需要过滤的文件。
exclude=filname 需要过滤的文件。
–progress 显示备份过程。

总结

本文主要讨论了rsync的原理及使用场景, 下篇文章我们将探讨安装及使用,学习任何服务,都需要按照以下的顺序进行学习:

  1. 这个服务是做什么的
  2. 服务的使用场景是什么
  3. 服务如何安装及使用
  4. 有没有类似的服务,拥有相似的功能
  5. 是否能够讲给别人听,并让其他人可以听懂。

我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我一起交流学习

【Linux】循序渐进学运维-服务篇-rysnc原理相关推荐

  1. 【Linux】循序渐进学运维-服务篇-rysnc+inotify实战

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第12篇文章 文章目录 前言 实验环境 1. 配置ssh免秘钥登陆,且配置时间同步 2 . 设置rsync的配置文件,确保两台服务 ...

  2. 【Linux】循序渐进学运维-服务篇-rysnc安装及使用

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第8篇文章 文章目录 前言 rsync安装 1. 查看是否已经安装 2. 安装rsync 3. 根据配置文件进行相关的配置 1) 创建 ...

  3. 【Linux】循序渐进学运维-服务篇-inotify部署及应用

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第11篇文章 文章目录 前言 inotify 出现的原因 什么是inotify? 实验环境 1. 内核: 2. 查看当前系统是否支持安 ...

  4. 【Linux】循序渐进学运维-服务篇-rsync实战

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第10篇文章 文章目录 前言 实验环境 实验步骤 1. 修改配置文件 2. 创建提示文件及用户密码 1) 编辑欢迎信息 2) 创建密码 ...

  5. 【Linux】循序渐进学运维-服务篇-rsync配置文件

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第9篇文章 文章目录 前言 一. rsync配置文件举例 二. rsync配置文件详解 1. 配置文件的组成: 2. 常见的全局参数 ...

  6. 循序渐进学运维-服务篇V1版更新完毕

    我是互联网老辛,关注我吧,给自己每天的进步找一个机会和理由,不要被无效信息淹没,免除知识焦虑 前言 循序渐进学运维系列的基础篇参考: 喜大普奔:<循序渐进学运维>第一阶段完稿 本次完结的是 ...

  7. 【Linux】循序渐进学运维-服务篇-FTP的原理及使用

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第13篇文章 文章目录 一. FTP服务的概述 1. ftp的相关概念 2. 常见的FTP服务器 3. VSFTP基本信息 二. FT ...

  8. 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...

  9. 【Linux】循序渐进学运维-服务篇-ssh服务入门

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第3篇文章 文章目录 前言 1. 什么是SSH? 2. ssh的连接原理 3. ssh服务的安装 1) OpenSSH的构成 2) 安 ...

最新文章

  1. 正则匹配:Email 密码强度 身份证 手机号 日期 数字每4个字空一格等
  2. NA-NP-IE系列实验之前三个实验小结
  3. redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...
  4. RtlAdjustPrivilege() 提权函数
  5. mysql无序id怎么优化limit_MYSQL分页limit速度太慢优化方法
  6. php 判断 in,tinkphp常用判断条件in、notin、between、AND、OR
  7. Uber发布史上最简单的深度学习框架Ludwig!不懂编程也能玩转人工智能
  8. 根据图像连接数判别不同像素所处的位置
  9. 系统集成Nacos和Feign
  10. Word自动给图片编号
  11. 台式计算机中常用的机械硬盘,台式机如何安装机械硬盘?给台式电脑安装机械硬盘的详细步骤...
  12. 一个中高级PHP工程师所应该具备的能力
  13. 计算机网络——CSMA/CD协议
  14. 计算机组成原理——中央处理器
  15. html访问域名跳转,根据访问的域名跳转到指定目录的代码
  16. Tomcat安装及配置详解
  17. 大板加腋 弹性板6计算_土木吧丨有梁就不用算冲切?弹性板6中毒很深
  18. Android View学习笔记(三):Scroller的原理剖析及使用(上)
  19. PT100温度电阻转换器
  20. k8s之StorageClass(NFS)

热门文章

  1. (补)算法训练Day13 | LeetCode150. 逆波兰表达式求值(栈应用);LeetCode239. 滑动窗口最大值(单调队列);LeetCode347. 前K个高频元素(小顶堆,优先级队列)
  2. 第九章 文件处理(IO) ② 代码
  3. html 打包优化,Webpack打包优化
  4. 2021-06-21基于深度学习的智能机械故障诊断的部分域适应方法阅读笔记
  5. mysql order by多列_mysql 多列索和order by
  6. concurrentarraylist_解决ArrayList的ConcurrentModificationException
  7. qt double去掉多余的0_Qt编写自定义控件12-进度仪表盘
  8. php mhash,PHP加密扩展库-Mhash扩展库实例用法详解
  9. 【mykit-data】 数据库同步工具
  10. mysql实时同步工具|sqlserver同步工具|常见的数据库同步工具