Linux数据相关第1个服务_备份服务rsync

news2024/9/25 13:24:35

1、备份服务概述

备份服务:需要使用到脚本,打包备份,定时任务

备份服务:rsyncd 服务,不同主机之间数据传输

特点:

  • rsync是个服务也是命令
  • 使用方便,具有多种模式
  • 传输数据的时候是增量传输

增量与全量:

全量:无论多少数据全部推送走(scp -r)

增量:只会把 修改,新建 的文件传输走(rsync -avz)

#把/etc/目录传输到另一台机器的/tmp/下面
scp -r /test/ root@111.229.205.81:/tmp/
rsync -avz /test/ root@111.229.205.81:/tmp/

2、rsync企业应用场景

应用场景(业务场景)

应用场景(业务场景)应用建议
rsync 作为命令使用临时拉取,推送数据.未来这个需求可以通过scp命令实现.
定时备份:rsync 服务 + 定时任务定时备份,定期备份案例.(定时任务进行备份+通过rsync传输备份)
实时同步:rsync 服务 + sersync/lsyncd 实现实时同步解决存储服务单点问题
rsync服务与异地容灾找一个异地的服务器存放备份

3、rsync使用模式

模式应用场景
本地模式
远程模式传输数据(临时使用可以使用scp替代)
rsync 守护进程模式(daemon)传输数据(不需要密码),用于定时备份,定时同步.

4、推与拉

1、备份服务概述

备份服务:需要使用到脚本,打包备份,定时任务

备份服务:rsyncd 服务,不同主机之间数据传输

特点:

  • rsync是个服务也是命令
  • 使用方便,具有多种模式
  • 传输数据的时候是增量传输

增量与全量:

全量:无论多少数据全部推送走(scp -r)

增量:只会把 修改,新建 的文件传输走(rsync -avz)

#把/etc/目录传输到另一台机器的/tmp/下面
scp -r /test/ root@111.229.205.81:/tmp/
rsync -avz /test/ root@111.229.205.81:/tmp/

2、rsync企业应用场景

应用场景(业务场景)

应用场景(业务场景)应用建议
rsync 作为命令使用临时拉取,推送数据.未来这个需求可以通过scp命令实现.
定时备份:rsync 服务 + 定时任务定时备份,定期备份案例.(定时任务进行备份+通过rsync传输备份)
实时同步:rsync 服务 + sersync/lsyncd 实现实时同步解决存储服务单点问题
rsync服务与异地容灾找一个异地的服务器存放备份

3、rsync使用模式

模式应用场景
本地模式
远程模式传输数据(临时使用可以使用scp替代)
rsync 守护进程模式(daemon)传输数据(不需要密码),用于定时备份,定时同步.

4、推与拉

在这里插入图片描述

5、rsync本地模式

rsync -a /etc/ /tmp/ 
rsync -a /etc /tmp/

在rsync对于目录 /etc/ /etc 是有区别的

  • /etc /etc目录+目录的内容
  • /etc/ /etc/目录下面的内容

6、rsync远程模式

格式
rsync -a源文件目标
推送:rsync/etc/hostnameroot@10.0.0.31:/etc/hosts
拉取:rsyncroot@10.0.0.31:/tmp/opt/

7、rsync守护进程模式

服务使用流程
部署
配置
启动,使用
优化
故障
自动化(监控,日志,安全,自动部署,容器)

7.1 检查是否安装


yum install -y rsync
#查看安装包名称
rpm -qa rsync
#检查服务目录
rpm -ql rsync
​
/etc/rsyncd.conf #命令配置文件,服务端配置文件,守护进程文件
/usr/bin/rsync  #命令
/usr/lib/systemd/system/rsyncd.service  #systemctl对应的配置文件

7.2 进程配置

a)配置详情

在这里插入图片描述

b)进行配置

[root@yunwei ~]# cat /etc/rsyncd.conf
#created by linux 2024.8.23
##rsyncd.conf start ##
fake super =yes
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
#hosts allow = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[data]
comment = description imformation
path = /data
c)后续配置
#1.添加虚拟用户
useradd  -s /sbin/nologin -M  rsync
#2.创建密码文件,并修改为600权限
#密码文件格式:  用户名:密码
echo 'rsync_backup:123 ' >/etc/rsync.password
chmod 600 /etc/rsync.password
#3.共享目录与权限,修改目录所有者
mkdir /data/
chown -R rsync.rsync /data
d)启动服务
systemctl start rsyncd
systemctl enable rsyncd

7.3 测试

1、本地测试
rsync -avz /etc/hostname rsync_backup@10.0.0.41::data
2、客户端测试
[root@nfs ~]# rsync -avz /etc/hostname rsync_backup@10.0.0.41::data
2-1.免密码传输到服务端(10.0.0.31向10.0.0.41传输文件)
#创建密码文件
[root@nfs ~]# echo '1' >> /etc/rsync_client.txt
#设置权限为600
[root@nfs ~]# chmod 600 /etc/rsync_client.txt
#开始发送
[root@nfs ~]# rsync -avz /etc/hosts rsync_backup@10.0.0.41::data --password-file=rsync_client
3、查看日志
tail -f /var/log/rsyncd.log

7.4 小结

部署流程
服务端配置文件
添加虚拟用户
secret文件,密码文件,文件权限
创建共享目录和修改权限
启动或重启,开机自启动,
测试
客户端密码文件,权限
客户端命令测试

8、守护进程-补充

8.1 uid,gid 与auth user

#用户执行
rsync -avz /etc/passwd rsync_backup@10.0.0.41::data --password-file=/etc/rsync_client.passwd

1、服务端收到数据:判断rsync_backup用户,然后等待输入密码

2、把用户名和密码与配置文件里面对比 auth user 和secrets file(600权限)

3、通过后,传输数据

4、数据到达服务器所有者被修改为uid和gid指定的(rsync)

5、数据写入data模块(用户和用户组为rsync)目录下面.

在这里插入图片描述

8.2 访问控制-安全措施

  • hosts allow 只准许指定的ip或网段访问
  • hosts deny 拒绝.

可以配置只允许内网(10.0.0.0/24)访问。

如果不是白名单网段访问,会在log查看rsync denied。

9、rsync选项

rsync选项含义
-a-r递归复制 -l复制软连接 -p保持权限不变 -m保持修改时间不 -o所有者不变 -g用户组不变 -D devices specials 设备与特殊文件
-v显示过程
-z传输数据到公网
–bwlimit限速,不能与-z一起使用
-p显示更全面的过程
-delete保持高度同步(实时同步使用)
-exclude排除

限速并传输

rsync -aP --bwlimit=500kb /tmp/1g  root@10.0.0.31:/mnt/

10、故障记录

提示原因
pawwsord mismatch密码错误
no secrets file权限配置错误(600)
permission denied防火墙firewalld和selinux
no matching rule与hosts allow允许网段的白名单有关

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2067595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx: 配置项之http模块connection和request的用法以及limit_conn和limit_req模块

connection和request connection 就是一个连接, TCP连接 客户端和服务器想要进行通信的话,有很多种方式比如说, TCP的形式或者是UDP形式的通常很多应用都是建立在这个TCP之上的所以, 客户端和服务器通信,使用了TCP协议的话,必然涉及建立TCP连…

一分钟告诉你毕业季大学都在用在线版招生简章是如何制作?

毕业季临近,各大高校纷纷进入招生宣传的关键时期。在数字化时代背景下,在线版招生简章成为了高校之间竞争的焦点。一分钟带你了解,这些吸引眼球的在线版招生简章是如何制作出来的。 1. 准备好制作工具:FLBOOK在线制作电子杂志平台…

【论文分享】Graviton: Trusted Execution Environments on GPUs 2018’OSDI

目录 AbstractIntroductioncontributions BackgroundGPUSoftware stackHardwareContext and channel managementCommand submissionProgramming modelInitializationMemory allocationHost-GPU transfersKernel dispatch Sharing Intel SGX Threat ModelOverviewGraviton Archi…

World of Warcraft [CLASSIC] Engineering 335-420

World of Warcraft [CLASSIC] Engineering 工程学冲技能点 335 - 420 [冰霜冲击雷管] 335-345 [冰霜手雷] 346-358 这部分知道可以不看了 在地狱火半岛,萨尔玛,找70级工程学大师学习新的技能,用来充技能都不划算 回【达拉然】找80级工程…

【电子数据取证】提升案件分析准确性的去重技术

前言 紧随《AES解密侵犯隐私案件数据》一文的讨论,本文将深入探讨数据解密后的处理工作。解密只是数据恢复的第一步,确保数据的准确性和分析的有效性同样重要。本文将重点介绍数据去重技术,阐述在解密数据后如何细致地进行去重处理&#xff…

wx.choosemedia 无反应 不生效 不弹出图片视频

调整开发者工具基础版本:打开微信开发者工具 > 右上方点击详情 > 本地设置 >调试基础库(更换版本) 这里我试了几个,发现 3 开头的版本都不行。。最后选了 2.30.4版本,官方文档给的答案是 2.10.0 开始支持 。…

特殊管道资源采购

管道资源物料是从管道(如输油管)或其它线管(如输电线)中直接进入生产流程的物料。与寄售物料不同的是,管道资源物料不必一定经过“采购”获得。管道库存不是在仓库中实际可用的库存。管道中的物料始终可用,…

Datawhale X 李宏毅苹果书 AI夏令营-深度学习入门班-task1

机器学习就是去拟合一种函数,它可能在高维上,十分抽象,但是却可以有丰富的语义含义,从而完成一系列任务 回归任务是预测一个准确的值,例如拟合一条直线的时候,我们希望每一个点的值都能对应上 分类任务则…

JAVA-抽象类和抽象方法

目录 一、抽象类的概念 二、抽象类语法 三、抽象类特性规则 四、抽象类的作用 一、抽象类的概念 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果 一个类中没有包含足够…

宠物空气净化器是否是智商税?性价比高的宠物空气净化器十大排名

我开着一家猫咪咖啡馆,我们店貌美小猫可没少给我带来回头客~先给大家看看我的招财猫们 我的猫咪咖啡馆已经运营了三年了,直到最近才迎来了盈利的曙光。初期,面对种种困难与挑战,特别是频繁的投诉,几乎让我陷入了经营困…

IO进程线程8月23日

1&#xff0c;思维导图 2&#xff0c;创建子父 #include<myhead.h> int main(int argc, const char *argv[]) {pid_t pid;pidfork();if(pid>0){int fp3open("./3.txt",O_RDONLY);int fp4open("./4.txt",O_CREAT|O_TRUNC|O_WRONLY,0664);char str…

gin快速入门

gin 项目地址晓智科技晓智科技晓智文档晓智文档文档源码文档源码 快速体验 func HandlerPong(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"message": "pong",}) }func main() {r : gin.Default()r.GET("/ping", HandlerPong)_ r.Run(&qu…

JUnit 5和Mockito进行单元测试!

1. JUnit 5 基础 JUnit 5是最新的JUnit版本&#xff0c;它引入了许多新特性&#xff0c;包括更灵活的测试实例生命周期、参数化测试、更丰富的断言和假设等。 1.1 基本注解 Test&#xff1a;标记一个方法为测试方法。 BeforeEach&#xff1a;在每个测试方法之前执行。 AfterEac…

69 H3C SecPath F1000 (系统模块介绍-2)

28-IRF 特性简介 IRF&#xff08;Intelligent Resilient Framework&#xff0c;智能弹性架构&#xff09;是一种软件虚拟化技术。它的核心思想是将多台设备连接在一起&#xff0c;进行必要的配置后&#xff0c;虚拟化成一台设备。使用这种虚拟化技术可以集合多台设备的硬件资源…

54. 螺旋矩阵【 力扣(LeetCode) 】

一、题目描述 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 二、测试用例 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入…

软件测试——自动化测试selenium

自动化测试 测试人员编写自动化测试脚本&#xff0c;维护并解决自动化脚本问题 自动化的主要目的就是用来进行回归测试 回归测试 常见面试题 ⾃动化测试能够取代人工测试吗&#xff1f; ⾃动化测试不⼀定⽐人工测试更能保障系统的可靠性&#xff0c;⾃动化测试是测试⼈员手…

图论 最短路

文章目录 单源最短路朴素Dijkstra代码 堆优化Dijkstra代码 Bellman-ford代码 spfaspfa求最短路代码 spfa判断负环代码 多源最短路Floyd代码 单源最短路 朴素Dijkstra 给定一个 n n n 个点 m m m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c;所有边权均为正…

vscode 阅读linux内核(vscode+clangd)

此插件曾在vim里用过&#xff0c;非常好用。 首先先在vscode 里下载clangd插件 这只是客户端&#xff0c;还需下载个服务器&#xff08;这在coc插件里也有说明&#xff09; sudo apt install clangd 下载完后可以 clangd --version 查看版本信息&#xff0c;如果能查看&#x…

回归预测|基于灰狼GWO优化BP神经网络多输入多输出的数据回归预测Matlab程序GWO-BP 含预测新数据程序

回归预测|基于灰狼GWO优化BP神经网络多输入多输出的数据回归预测Matlab程序GWO-BP 含预测新数据程序 文章目录 前言回归预测|基于灰狼GWO优化BP神经网络多输入多输出的数据回归预测Matlab程序GWO-BP 含预测新数据程序 一、GWO-BP多输出模型1. 原理2. GWO-BP模型流程步骤1: 初始…

jenkins最佳实践(一):jenkins安装与部署

各位小伙伴们大家好呀&#xff0c;我是小金&#xff0c;下面我将记录学习jenkins的系列文章与心得&#xff0c;一方面用于博主的自我记录&#xff0c;一方面如果能帮助到正在浏览这篇文章的小伙伴&#xff0c;那更好不过了&#xff0c;本篇文章主要讲述jenkins的安装以及安装je…