【Linux】循序渐进学运维-服务篇-rysnc原理
大家好,我是高胜寒,本文是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的原理及使用场景, 下篇文章我们将探讨安装及使用,学习任何服务,都需要按照以下的顺序进行学习:
- 这个服务是做什么的
- 服务的使用场景是什么
- 服务如何安装及使用
- 有没有类似的服务,拥有相似的功能
- 是否能够讲给别人听,并让其他人可以听懂。
我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我一起交流学习
【Linux】循序渐进学运维-服务篇-rysnc原理相关推荐
- 【Linux】循序渐进学运维-服务篇-rysnc+inotify实战
大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第12篇文章 文章目录 前言 实验环境 1. 配置ssh免秘钥登陆,且配置时间同步 2 . 设置rsync的配置文件,确保两台服务 ...
- 【Linux】循序渐进学运维-服务篇-rysnc安装及使用
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第8篇文章 文章目录 前言 rsync安装 1. 查看是否已经安装 2. 安装rsync 3. 根据配置文件进行相关的配置 1) 创建 ...
- 【Linux】循序渐进学运维-服务篇-inotify部署及应用
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第11篇文章 文章目录 前言 inotify 出现的原因 什么是inotify? 实验环境 1. 内核: 2. 查看当前系统是否支持安 ...
- 【Linux】循序渐进学运维-服务篇-rsync实战
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第10篇文章 文章目录 前言 实验环境 实验步骤 1. 修改配置文件 2. 创建提示文件及用户密码 1) 编辑欢迎信息 2) 创建密码 ...
- 【Linux】循序渐进学运维-服务篇-rsync配置文件
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第9篇文章 文章目录 前言 一. rsync配置文件举例 二. rsync配置文件详解 1. 配置文件的组成: 2. 常见的全局参数 ...
- 循序渐进学运维-服务篇V1版更新完毕
我是互联网老辛,关注我吧,给自己每天的进步找一个机会和理由,不要被无效信息淹没,免除知识焦虑 前言 循序渐进学运维系列的基础篇参考: 喜大普奔:<循序渐进学运维>第一阶段完稿 本次完结的是 ...
- 【Linux】循序渐进学运维-服务篇-FTP的原理及使用
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第13篇文章 文章目录 一. FTP服务的概述 1. ftp的相关概念 2. 常见的FTP服务器 3. VSFTP基本信息 二. FT ...
- 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解
大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...
- 【Linux】循序渐进学运维-服务篇-ssh服务入门
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第3篇文章 文章目录 前言 1. 什么是SSH? 2. ssh的连接原理 3. ssh服务的安装 1) OpenSSH的构成 2) 安 ...
最新文章
- 正则匹配:Email 密码强度 身份证 手机号 日期 数字每4个字空一格等
- NA-NP-IE系列实验之前三个实验小结
- redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...
- RtlAdjustPrivilege() 提权函数
- mysql无序id怎么优化limit_MYSQL分页limit速度太慢优化方法
- php 判断 in,tinkphp常用判断条件in、notin、between、AND、OR
- Uber发布史上最简单的深度学习框架Ludwig!不懂编程也能玩转人工智能
- 根据图像连接数判别不同像素所处的位置
- 系统集成Nacos和Feign
- Word自动给图片编号
- 台式计算机中常用的机械硬盘,台式机如何安装机械硬盘?给台式电脑安装机械硬盘的详细步骤...
- 一个中高级PHP工程师所应该具备的能力
- 计算机网络——CSMA/CD协议
- 计算机组成原理——中央处理器
- html访问域名跳转,根据访问的域名跳转到指定目录的代码
- Tomcat安装及配置详解
- 大板加腋 弹性板6计算_土木吧丨有梁就不用算冲切?弹性板6中毒很深
- Android View学习笔记(三):Scroller的原理剖析及使用(上)
- PT100温度电阻转换器
- k8s之StorageClass(NFS)
热门文章
- (补)算法训练Day13 | LeetCode150. 逆波兰表达式求值(栈应用);LeetCode239. 滑动窗口最大值(单调队列);LeetCode347. 前K个高频元素(小顶堆,优先级队列)
- 第九章 文件处理(IO) ② 代码
- html 打包优化,Webpack打包优化
- 2021-06-21基于深度学习的智能机械故障诊断的部分域适应方法阅读笔记
- mysql order by多列_mysql 多列索和order by
- concurrentarraylist_解决ArrayList的ConcurrentModificationException
- qt double去掉多余的0_Qt编写自定义控件12-进度仪表盘
- php mhash,PHP加密扩展库-Mhash扩展库实例用法详解
- 【mykit-data】 数据库同步工具
- mysql实时同步工具|sqlserver同步工具|常见的数据库同步工具