【技术实操】中标麒麟高级服务器操作系统实例分享,rsync数据同步配置方案

 1.rsync介绍

rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具。

在守护进程模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH提供文件。SSH模式下,rsync客户端运行程序必须同时在本地和远程机器上安装。

全量与增量,全量:将全部数据进行传输覆盖,增量:只传输差异部分的数据,rsync通过独特的“quick check”算法,实现增量数据传输

2. 配置环境

系统环境:2台麒麟V7.6服务器操作系统,版本信息如下:

备份服务器:192.168.216.120

客户端服务器(nfs存储共享):192.168.216.121

目的:将nfs服务器/www目录的数据,备份到备份服务器的/backup/web目录

3.rsync配置步骤

3.1安装rsync

服务端(备份服务器)和客户端都要安装,命令如下:

[root@server ~]# yum install rsync -y

[root@client ~]# yum install rsync -y

3.2服务端配置

  • 1)服务端配置文件,/etc/rsyncd.conf配置

[root@server ~]# vim /etc/rsyncd.conf

#同步到服务端的文件或目录,用户名和组,继承这里的设置

uid = nobody                      #进行备份的用户为nobody

gid = nobody                      #进行备份的组nodody

use chroot = no                     #不用chroot,安全相关

max connections = 200               #最大链接数

timeout = 300                      #超时时间(不进行备份多次时间断开)

pid file = /var/run/rsyncd.pid          #进程对应进程号文件

lock file = /var/run/rsync.lock         #锁文件

log file = /var/log/rsyncd.log          #日志文件,显示出错信息

fake super = yes                    #新版rsync必须加此参数

#模块信息:

[backup]                 

comment = "backup"                #模块名称

path = /backup/web                  #模块对应路径

ignore errors                       #忽略错误程序

read only = no                     #是否只读,这里设置可写

list = false                         #是否可以列表,这里设置否

hosts allow = 192.168.216.0/24        #准许访问rsync服务器客户端范围(白名单)

auth users = root                    #认证的用户名

secrets file = /etc/rsync.password       #密码文件存放位置

  • 创建数据备份目录和认证用户密码文件

[root@server ~]# mkdir -p /backup/web

[root@server ~]# chown nobody.nobody /backup/ -R

[root@server ~]# chmod 777 -R /backup/

[root@server ~]# echo "root:qwer1234" > /etc/rsync.password

[root@server ~]# chmod 600 /etc/rsync.password

  • 启动rsyncd服务

[root@server ~]# systemctl start rsyncd

[root@server ~]# systemctl status rsyncd

● rsyncd.service - fast remote file copy program daemon

   Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; disabled; vendor preset: disabled)

   Active: active (running) since 四 2023-09-07 18:41:00 CST; 5s ago

 Main PID: 40823 (rsync)

    Tasks: 1

   CGroup: /system.slice/rsyncd.service

           └─40823 /usr/bin/rsync --daemon --no-detach

9月 07 18:41:00 server systemd[1]: Started fast remote file copy program daemon.

  • 查看已经正常启动并监听873端口

[root@server ~]# ps -ef | grep rsync

root      40823      1  0 18:41 ?        00:00:00 /usr/bin/rsync --daemon --no-detach

root      41024  12951  0 18:41 pts/1    00:00:00 grep --color=auto rsync

[root@server ~]# netstat -lntup | grep rsync

tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      40823/rsync

tcp6       0      0 :::873                  :::*                    LISTEN      40823/rsync

3.2 客户端配置

1)创建密码文件,客户端密码文件中,只需要密码即可,文件权限600

[root@client ~]# echo "qwer1234" > /etc/rsync.password

[root@client ~]# chmod 600 /etc/rsync.password

3.3 文件传输测试

客户端上传至服务器测试,蒋整个/www文件夹备份过去。

root为服务器中配置文件的auth users参数,::backup是以后的模块参数及配置文件中的[backup],后面接配置文件中的密码文件路径,免交互,不用输入密码就可传输。命令如下:

[root@client ~]# rsync -avz /www/ root@192.168.216.120::backup --password-file=/etc/rsync.password

sending incremental file list

./

sent 140 bytes  received 27 bytes  334.00 bytes/sec

total size is 4  speedup is 0.02

测试客户端/www目录创建如下4个txt文件,其中1.txt文件内容为123,使用如上客户端同步命令后,查看服务端/backup/web目录下同步过来/www目录下的4个txt文件,1.txt文件内容正确,如下图:

Client

Server

改客户端1.txt文件内容,使用rsync命令同步后,查看服务端1.txt内容同客户端一致。如下图:

Client

Server

客户端/www目录,增加文件5.txt,查看服务端同步了增加的文件。如下图:

Client

Server

 删除客户端/www/2.txt文件,客户端使用rsync命令加上--delete无差异同步数据,查看服务端,同步到被删除的文件,如下图:

Client

Server

3.4 rsync命令参数

 4.结论

   综上,配置和测试验证情况来看,rsync基本可以满足,增删改文件和目录,相关操作,时间戳保持一致。客户端rsync同步命令,建议用如下加上--delete,无差异同步参数同步到备份服务端,命令如下:

 rsync -avz --delete /www/ root@192.168.216.120::backup --password-file=/etc/rsync.password

 注:192.168.216.120为备份服务端ip地址

[root@client www]# rsync -avz --delete --bwlimit=10240 /www/ root@192.168.216.120::backup --password-file=/etc/rsync.password  --rsync支持限速传输

sending incremental file list

./

test.img

sent 1,044,536 bytes  received 50 bytes  9,123.02 bytes/sec

total size is 1,073,741,833  speedup is 1,027.91

注:

参考链接:

运维笔记:Linux搭建rsync备用服务器,及配置文件详解_rsync和sersync对目录进行备份-CSDN博客

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

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

相关文章

基于BERT的中文情感分析实战

数据与代码链接见文末 bert开源项目解读:谷歌开源项目BERT源码解读与应用实例-CSDN博客 基于BERT的中文命名实体识别识别实战:基于BERT的中文命名实体识别识别实战-CSDN博客 1.数据 在data目录下,提供了中文情感分析的数据, 类别1代表正向情感,类别2代表负向情感。

金融信贷风控基础知识

一、所谓风控(What && Why) 所谓风控,可以拆解从2个方面看,即 风险和控制 风险(what) 风险 这里狭隘的特指互联网产品中存在的风险点,例如 账户风险 垃圾注册账号账号被泄露盗用 交易支付风险 刷单:为提升卖家店铺人气…

DETR原理分析

TransformerDetection:引入视觉领域的首创DETR 论文名称:End-to-End Object Detection with Transformers 论文地址:https://arxiv.org/abs/2005.12872 重要的图要经常出现,下图就是: DETR原理分析 网络架构部分解读…

UNI-APP设置屏幕保持常亮-不熄灭屏幕

前言 最近在实际开发过程中,我们会发现在自己使用的app当中会根据系统无操作熄灭屏幕对于一下需要长时间保持屏幕的业务就很不友好,uni-app也是提供了相应方法加上代码之后-注意app端没报错-不生效就是权限问题-需要设置相对应权限-打自定义包 代码实现…

【BSP开发经验】用户态栈回溯技术

前言 在内核中有一个非常好用的函数dump_stack, 该函数在我们调试内核的过程中可以打印出函数调用关系,该函数可以帮助我们进行内核调试,以及让我们了解内核的调用关系。同时当内核发生崩溃的时候就会自己将自己的调用栈输出到串口。 栈回溯非常有利于我…

溪谷联运SDK功能全面解析

近期,备受用户关注的手游联运10.0.0版本上线了,不少用户也选择了版本更新,其中也再次迎来了SDK的更新。溪谷软件和大家一起盘点一下溪谷SDK的功能都有哪些吧。 一、溪谷SDK具有完整的运营功能和高度扩展性 1.登录:登录是SDK最基础…

物体检测算法-R-CNN,SSD,YOLO

物体检测算法-R-CNN,SSD,YOLO 1 R-CNN2 SSD3 Yolo总结 1 R-CNN R-CNN(Region-based Convolutional Neural Network)是一种基于区域的卷积神经网络,是第一个成功将深度学习应用到目标检测上的算法。它主要由三个步骤组…

LeetCode 131题详解:高效分割回文串的递归与动态规划方法

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

关于如何创建一个可配置的 SpringBoot Web 项目的全局异常处理

前情概要 这个问题其实困扰了我一周时间,一周都在 Google 上旅游,我要如何动态的设置 RestControllerAdvice 里面的 basePackages 以及 baseClasses 的值呢?经过一周的时间寻求无果之后打算决定放弃的我终于找到了一些关键的线索。 当然在此…

为什么我用save保存更新,数据库不更新,反而新增一条

今天发现一个奇怪的问题: 为什么我用save保存更新的数据后,数据库不更新,但是增加了一条空数据,我的前台也把数据用json传上去了,也成功了,但是数据库没有更新相应行的数据,而是新增了一条数据&…

实现顺序表各种基本运算的算法

实验一:实现顺序表各种基本运算的算法 一、实验目的与要求 目的: 领会顺序表存储结构和掌握顺序表中各种基本运算算法设计。 内容: 编写一个程序sqlist.cpp,实现顺序表的各种基本运算和整体建表算法(假设顺序表的元素类型ElemType为char),并在此基础上设计一个…

计组期末必考大题

一.寻址方式详解 1.直接寻址 指令地址码直接给到操作数所在的存储单元地址 2.间接寻址 A为操作数EA的地址 3.寄存寻址 4.寄存器间接寻址 5.变址寻址 6.基地址寻址 7.小结 二、指令周期详解 一、基本概念 指令周期:去除指令并执行指令所需要的时间指令周期:由若干个CPU周…

C++/ cuda kernel中的模版元编程识别 kernel 模版的数据类型

1,模版元编程 模板元编程是一种利用 C 模板系统在编译时进行计算和生成代码的技术。其原理基于模板特化、递归、模板参数推导等特性,通过模板实例化和展开,在编译时生成代码,以实现在编译期间进行复杂计算和代码生成的目的。 2&am…

前端笔记-day07

学成在线网站 文章目录 效果图代码展示index.htmlindex.cssbase.css 效果图 代码展示 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-w…

键盘盲打是练出来的

键盘盲打是练出来的&#xff0c;那该如何练习呢&#xff1f;很简单&#xff0c;看着屏幕提示跟着练。屏幕上哪里有提示呢&#xff1f;请看我的截屏&#xff1a; 截屏下方有8个带字母的方块按钮&#xff0c;这个就是提示&#xff0c;也就是我们常说的8个基准键位&#xff0c;我…

spring boot多模块项目中父项目与子项目的连接

如题&#xff0c;spring boot多模块项目中&#xff0c;父项目在本级的pom.xml中&#xff0c;引入子项目&#xff0c;类似代码如下&#xff1a; ruoyi-modules/pom.xml&#xff1a; <modules><module>ruoyi-system</module><module>ruoyi-gen</modu…

【linux】详解vim编辑器

基本指令 【linux】详解linux基本指令-CSDN博客 【linux】详解linux基本指令-CSDN博客 vim的基本概念 vim有很多模式&#xff0c;小编只介绍三种就能让大家玩转vim了&#xff0c; 分别是&#xff1a; 正常/普通/命令模式 插入模式 末行/底行模式 命令模式 控制屏幕光标的…

【C++初阶】--- C++入门(上)

目录 一、C的背景及简要介绍1.1 什么是C1.2 C发展史1.3 C的重要性 二、C关键字三、命名空间2.1 命名空间定义2.2 命名空间使用 四、C输入 & 输出 一、C的背景及简要介绍 1.1 什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&…

Excel 下划线转驼峰

Excel 下划线转驼峰 LOWER(LEFT(SUBSTITUTE(PROER(A1),"_",""),1))&RIGHT(SUBSTITUTE(PROPER(A1),"_",""),LEN(SUBSTITUTE(PROPER(A1),"_",""))-1)

微博:一季度运营利润9.11亿元,经营效率持续提升

5月23日&#xff0c;微博发布2024年第一季度财报。一季度微博总营收3.955亿美元&#xff0c;约合28.44亿元人民币&#xff0c;超华尔街预期。其中&#xff0c;广告营收达到3.39亿美元&#xff0c;约合24.39亿元人民币。一季度调整后运营利润达到1.258亿美元&#xff0c;约合9.1…