数据服务-备份服务(rsync)

1. 概述

特点:

1. rsync是个服务也是命令

2. 使用方便,具有多种模式

3. 传输数据的时候是增量传输

  1.1 增量与全量

1. 增量:只会把修改,新建的内容推走

2. 全量:无论数据多少全部推送

 1.2 把/etc/目录传输到另一台机器的/tmp/下面

方法1:scp -r /etc/sysconfig/  root@10.0.0.31:/tmp/
方法2:
rsync -avz /etc/sysconfig/   root@10.0.0.31:/mnt/

2. Rsync应用场景 

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

 3. Rsync使用模式

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

4. rsync不同的模式 

4.1 rsync本地模式

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

/etc /etc目录+目录的内容

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

4.2 远程模式 

rsync -a   源文件   目标
##推送:
rsync  /etc/hostname  root@10.0.0.31:/tmp
##拉取
rsync  root@10.0.0.31:/etc/hosts  /opt/

4.2.1 推送/etc/hostname 到10.0.0.31的/tmp/目录

 rsync /etc/hostname  root@10.0.0.31:/tmp/

4.2.2 推送/etc 目录及目录内容 到10.0.0.31的 /tmp下面

推送第1次 全量

rsync -av /etc  root@10.0.0.31:/tmp/

推送第2次 发现没有推送

 创建文件再次推送

#创建文件
touch /etc/  xzb66.txt
#再次推送
rsync -av /etc  root@10.0.0.31:/tmp/

通过scp推送 /etc 目录及目录内容 到10.0.0.31的 /opt 下面 

scp -r  /etc/  root@10.0.0.31:/opt/ 
## -r  递归传输

 5. 守护进程模式

5.1 检查安装

##检查安装 更新
yum install -y rsync
##检查软件包内容
/etc/rsyncd.conf  #配置文件
/usr/bin/rsync    #命令
/usr/lib/systemd/system/rsyncd.service #systemctl对应的配置文件.

5.2 编写配置文件 

#created by xzb 19:49 2024-9-29
##rsyncd.conf start## 
fake super =yes   ##如果不开启,则传输报错,伪装成root权限
uid = rsync       ##rsync 运行的用户
gid = rsync       ##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   ##rsync服务端日志
ignore errors
read only = false
list = false
#hosts allow = 10.0.0.0/24       ##只允许改ip网段的人访问  白名单
#hosts deny = 0.0.0.0/32         ##黑名单
auth users = rsync_backup        ##rsync服务端进行验证的用户:用户名
secrets file = /etc/rsync.password  ##rsync服务端进行验证:密码
#####################################
[data]                           ## 模块名字,用户客户端访问服务端指定的名字
comment = www by xzb 19:49 2024-9-29  ##注释说明
path = /data                      ##模块对应的目录

5.3 启动服务

#启动服务
systemctl enable rsyncd 
systemctl start rsyncd

5.4 检查端口,检查端口

 ss -lntupps -ef |grep rsync

 5.5 后续配置

#1.添加虚拟用户
useradd  -s /sbin/nologin -M   rsync
#2.创建密码文件
####密码文件格式:用户名:密码
echo 'rsync_backup:a' >/etc/rsync.password 
chmod 600 /etc/rsync.password
#共享目录与权限
mkdir /data/
chown -R rsync  /data/ 

5.6 本地测试

5.7 客户端测试

##将nfs01下的文件备份到10.0.0.31上
[root@nfs01_blog ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.31::data

 5.7 免密码传输数据到服务端

##将密码写入rsync.client中
[root@nfs01_blog ~]# echo 'a' >/etc/rsync.client
##修改读写权限
[root@nfs01_blog ~]# chmod 600 /etc/rsync.client
##添加--password-file 参数
[root@nfs01_blog ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.31::data --password-file=/etc/rsync.client

 6. rsync选项

rsync选项含义
-a-rlptgoD -r递归复制 -l复制软连接 -p保持权限不变 -m保持修改时间不变 -o所有者不变 -g用户组不变-D devices specials 设备与特殊文件
-v显示过程
-z传输数据的时候进行压缩
--bwlimit限速,注意不要与-z一起使用
--exclude排除
--delete目标目录与源目录保持一致的传输

 6.1 限速并传输

rsync -aP --bwlimit=500kb /etc/hostname 10.0.0.31:/tmp/

6.2 传输并排除 

##排除04,05
rsync -avz /data/ root@10.0.0.31:/tmp/ --exclude={04,05}.txt

 6.3 保持源与目标数据一致

 7. 全网备份

7.1 环境准备

角色主机运行服务
存放备份back_up_xingrsync服务端
生成备份nfs01_blogrsync客户端

7.2 项目步骤 

步骤说明详细内容
rsync服务端并调试服务端配置/backup/目录
rsync客户端节点配置脚本

1.备份

2. 推送

3. 清理

其他节点匹配值定时任务定时运行脚本
在备份服务器上检查并发送结果邮件rsync服务端检查备份并发送邮件

7.3 rsync服务端调试 

##在/etc/rsyncd.conf中配置
[backup]           
comment = 收集备份 
path = /backup/ 
##创建目录
mkdir -p /backup/
##共享权限和目录
chown -R rsync /backup/
##远程测试

7.4 客户端备份脚本

#!/bin/bash
##############################################################
# File Name:23-rsync.sh
# Version:V1.0
# Author:xzb996
# Desc:备份配置文件
##############################################################
#1.vars
ip=`hostname -I |awk '{print $1}'`
time=`date +%F_%w`
backup_dir=/backup/$ip/
#2.备份
mkdir -p $backup_dir
tar zcf $backup_dir/conf-$time.tar.gz /etc/#3. 推送
rsync -avz /backup/  rsync_backup@172.16.1.31::backup --password-file=/etc/rsync.client
#4. 清理
find backup_dir -type f -name "*.tar.gz" -mtime +7 |xargs rm -f

客户端备份成功

 服务端备份成功

7.5 服务端脚本调试

#!/bin/bash
##############################################################
# File Name:23-rsync.sh
# Version:V1.0
# Author:xzb996
# Desc:检查备份与清理备份
##############################################################
time=`date +%F_%w`
##检查
tree /backup/  |mail -s "备份结果 $time" youxiang@qq.com 
##清理备份
find /backup/ -type f -name "*.tar.gz" -mtime +180|xargs rm -f 

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

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

相关文章

安卓 /proc 目录详解:从内核到进程的桥梁

在安卓系统中,/proc 目录是开发者、调试者、甚至是普通用户深入了解系统状态、性能及行为的一个重要入口。这个虚拟文件系统不仅包含了丰富的内核信息,还反映了运行中的每个进程的状态。 /proc 文件系统 /proc 文件系统(procfs)是…

前端编程艺术(3)---JavaScript

目录 1.JavaScript 1.输出 2.变量和数据类型 3.运算符 4.数组 5.函数 6.面向对象 7.ES6面向对象 2.BOM 1.document对象 3.DOM 4.JSON 1.JavaScript JavaScript是一种脚本编程语言,通常用于为网页增加交互性和动态效果。它是一种高级语言&#xff…

C++ 算法学习——1.6 差分算法与二维差分算法

一维差分算法概述: 差分算法是一种用于计算序列中相邻元素之间差值的技术。在C中,STL(标准模板库)提供了std::adjacent_difference函数来实现差分算法。 std::adjacent_difference函数: std::adjacent_difference函数位…

余承东直播论道智能驾驶:激光雷达不可或缺,华为ADS 3.0引领安全创新

华为余承东:激光雷达,智能驾驶安全性的关键 9月29日,华为消费者业务集团CEO余承东在一场引人注目的直播中,与知名主持人马东就智能驾驶技术的最新进展进行了深入交流。在这场直播中,余承东针对激光雷达在智能驾驶中的必要性问题,发表了明确且深刻的观点,引发了业界和公众…

网关路由登录校验

网关过滤器 登录校验必须在请求转发到微服务之前做,否则就失去了意义。而网关的请求转发是Gateway内部代码实现的,要想在请求转发之前做登录校验,就必须了解Gateway内部工作的基本原理。 暂时无法在飞书文档外展示此内容 如图所示&#xff…

一、Python(介绍、环境搭建)

一、介绍 Python 是一种高级编程语言,具有简洁易读的语法、丰富的库和强大的功能。Python是解释型语言,运行代码必须依赖安装好的解释器。Python目前存在两个版本:Python2、Python3(主流使用) 二、环境搭建 1.安装P…

四、函数顶层变量

函数&顶层变量 函数定义创建和使用 顶层变量递归函数实用库函数高阶函数与lambda表达式函数类型变量类型别名匿名函数lambda表达式基本用法lambda的简写 内联函数 函数 定义 其实函数我们在一开始就在使用了: fun main() {println("Hello World") …

Python 语言学习——应用1.1 数字图像处理(第一节,颜色)

目录 1.基础知识 2.实战演示 1.基础知识: 1.图像的表示. 函数表示:图像是二维信号,定义为二维函数f(x,y),其中,x、y是空间坐标,f(x,y)是点(x,y)的幅值。拓展看,视频,又称动态图像…

一阶差分模板的频率响应

一阶差分模板不同于二阶差分模板,它是一个奇对称的模板,傅里叶变换是纯虚数,无法用图形直接显示傅里叶变换,只能显示幅值谱。 冈萨雷斯的这个图我一直很好奇是怎么显示的,也没有坐标轴标出变量表示。 如今终于想明白…

论文笔记:微表情欺骗检测

整理了AAAI2018 Deception Detection in Videos 论文的阅读笔记 背景模型实验可视化 背景 欺骗在我们的日常生活中很常见。一些谎言是无害的,而另一些谎言可能会产生严重的后果。例如,在法庭上撒谎可能会影响司法公正,让有罪的被告逍遥法外。…

04-SpringBootWeb案例(中)

3. 员工管理 完成了部门管理的功能开发之后,我们进入到下一环节员工管理功能的开发。 基于以上原型,我们可以把员工管理功能分为: 分页查询(今天完成)带条件的分页查询(今天完成)删除员工&am…

服务器conda环境安装rpy2

参考博客 https://stackoverflow.com/questions/68936589/how-to-select-r-installation-when-using-rpy2-on-conda 现在我遇到这样一个问题,服务器系统环境没有R(没有权限安装),我只能在minconda的conda环境中使用R, 使用方法如下 我现在…

芝法酱学习笔记(0.6)——nexus与maven私库

一、私库的需求 在一个公司中,后端程序员通常几十上百个。在没有镜像私库的情况下,每当引入新库时,大家都会从maven中央仓库下载一遍这个库。这样无疑十分浪费。再加之国家的防火墙政策,许多人下载lib包可能还会十分缓慢。不同程…

Python水循环标准化对比算法实现

🎯要点 算法区分不同水循环数据类型:地下水、河水、降水、气温和其他,并使用相应标准化降水指数、标准化地下水指数、标准化河流水位指数和标准化降水蒸散指数。绘制和计算特定的时间序列比较统计学相关性。使用相关矩阵可视化集水区和显示空…

推荐:五种限流(Rate Limiting)算法

推荐:五种限流(Rate Limiting)算法,发现一个不错的讲这个算法的UP,地址是:05~五种限流(Rate Limiting)算法_哔哩哔哩_bilibili https://www.bilibili.com/video/BV11k4SerE74/ 全部用动画展示,十分生动,比如漏桶算法&…

短剧小程序短剧APP在线追剧APP网剧推广分销微短剧小剧场小程序集师知识付费集师短剧小程序集师小剧场小程序集师在线追剧小程序源码

一、产品简介功能介绍 集师专属搭建您的独有短剧/追剧/小剧场小程序或APP平台 二、短剧软件私域运营解决方案 针对短剧类小程序的运营,以下提出10条具体的方案: 明确定位与目标用户: 对短剧类小程序进行明确定位,了解目标用户群体…

【AI知识点】置信区间(Confidence Interval)

置信区间(Confidence Interval, CI) 是统计学中用于估计总体参数的范围。它给出了一个区间,并且这个区间包含总体参数的概率等于某个指定的置信水平(通常是 90%、95% 或 99%)。与点估计不同,置信区间通过区…

开源的云平台有哪些?

开源云平台为用户提供了构建、管理和运行云基础设施及应用的能力,同时允许社区参与开发和改进。以下是一些知名的开源云平台: 1. OpenStack 简介:OpenStack:一个广泛使用的开源云平台,它由多个组件组成,提…

深度学习中的结构化概率模型 - 结构化概率模型的深度学习方法篇

序言 在深度学习的广阔领域中,结构化概率模型( Structured Probabilistic Model \text{Structured Probabilistic Model} Structured Probabilistic Model)扮演着至关重要的角色。这类模型利用图论中的图结构来表示概率分布中随机变量之间的…

精品WordPress主题/响应式个人博客主题Kratos

Kratos 是一款专注于用户阅读体验的响应式 WordPress 主题,整体布局简洁大方,针对资源加载进行了优化。 Kratos主题基于Bootstrap和Font Awesome的WordPress一个干净,简单且响应迅速的博客主题,Vtrois创建和维护, 主…