使用rsync同步服务器目录及文件遇到的问题

背景:某天,客户找我倾诉了一个需求,问我是否有方法解决。诉求如下:有一个生产服务器(我暂时把它称为主站服务器),还有一个专门用来备份主站服务器上目录和文件的服务器(我姑且把它称为子站备份服务器)。平时这个两个服务器是每隔一天就会同步一次/data/下的所有内容,不知什么原因导致的两个服务器的时间不同步进而导致两个服务器下的目录文件数量相差甚大。诉求就是如何将这两台服务器/data/目录下的文件保持一致?

分析问题:客户使用的是rsync指令进行数据远程拷贝,那就在他们运行的rsync指令上进行排查,且由于不同的参数会造成不同的拷贝结果,需要查看客户使用的参数是否正确。

象征性的写一下指令:

rsync -chavzP --delete /data/*  root@192.168.139.150:/data/

我一看这不是加了--delete参数了吗,怎么还会造成主备服务器之间的数据同步不一致呢。实在不应该啊,我在我本地环境下测试了,发现使用rsync导致主备服务器数据不一致(请注意我说的文件目录数量不一致,不是目录文件内容不一致。倘若文件内容不一致那是rsync指令出现bug,不能远程同步目录文件)的原因可以有两个分别是:

1、如果我在备份服务器的备份目录下,添加文件或者目录会导致主备服务器上的目录文件数量不一致。

2、如果我在一次备份(无论这个备份是全量备份还是增量备份)后另外在源服务器上删除目录文件后,也会造成主备服务器上目录文件数量不一致。

我们都晓得,rsync指令是增量备份(这也是它为什么同步大量数据很快的原因)。它同步的原理是:rsync使用“Rsync算法”来同步文件,该算法只传送两个文件的不同部分,因此速度相当快。

友情链接:这个也是我整理的一个有关备份的博客

备份策略:全量备份,增量备份,差异备份_增量备份,全量备份-CSDN博客

 那么,我现在就需要问清楚客户是主备服务器目录文件内容不一样还是目录文件数量不一致,客户给我反馈说是目录文件数量不一致。那这太好办了,那不就是我上面总结的这两条直接告知客户就完事了,然而问题来了。客户说我们添加了--delete参数啊,不是会保持主备服务器上目录文件数据一致吗,怎么现在备份服务器比主服务器多了这么多文件。

然后我就去深度学习了一下,rsync的参数客户使用的-chavzP都没啥问题,无非就是一些归档、递归、压缩数据、显示传输进度,但是到了--delete参数的介绍时就出现了意想不到的坑,要我逐字逐句进行阅读。

我呢,英文水平一般般,所以我需要体谅到我及其他读者的感受,为了表现出我的友好,我就用大白话为在电脑或手机前的您解释这段话的意思。

解释如下:

--delete参数告诉我们rsync从接收端删除多余的文件(不在发送端的文件),但只删除正在同步的目录。这便意味着主备服务器之间只要同步过文件,若在主服务器下删除文件和在备份服务器上添加删除文件都会导致主备服务器文件数量不一致,但是它不影响主服务器上的数据完整地同步至备份服务器下,它不会删除备份服务器目录下本来就存在的目录。说白了就是,永远以源节点为参照将源节点的数据同步至备份服务器备份目录下。

解决:

告知客户后,他们说他们这边会有在源服务器(也就是主服务器)上删除文件和目录的操作,既然可以将主服务器的内容完整备份至备份服务器,那就不影响运维管理规范。

分析排查了半天竟然是对rsync指令参数的理解不够深入,闹了个乌龙事件。

再次还是要告诫自己,基础知识还是很重要。至少要对基本的参数含义了解深入才行。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SD-WAN异地组网的优点和应用场景

随着企业不断扩张,建立多个分支机构,异地组网已经成为提高通信效率和资源配置的关键手段。SD-WAN技术的出现为企业带来了更经济实惠、更有优势的异地组网解决方案。那么,如何搭建SD-WAN异地组网呢?我们一起来看看吧! S…

免翻,这两款免费神器结合,游戏党的狂欢!

哈喽,各位小伙伴们好,我是给大家带来各类黑科技与前沿资讯的小武。 相信大家都听过Steam,这是一款全球知名的PC端游戏平台,像大家耳熟能详的绝地求生、永劫无间等大热PC端游戏都可以从中下载,当然,还有众多…

跨云厂商的不停机数据库迁移,使用NineData就可以了!

近日,Google私有云发生重大故障,在维护UniSuper客户配置,误删除所有数据(包括异地备份数据)。【重大故障】澳大利亚所有大学退休金数据被Google误删除,本地云服务总监被直接解雇 其实,所有企业…

工器具管理(基于若依)

文章目录 前言一、工器具管理项目总览 二、入库功能1. 前端1.1 界面展示1.2 具体操作实现1.3 js文件 2. 后端2.1 工器具信息回显2.2 工器具入库 三、领用功能1. 前端1.1 界面展示1.2 具体实现操作1.3 js文件 2. 后端2.1 工器具信息回显2.2 工器具领用 遇到的问题1. 同一页面展示…

下载wsl 网络出现问题,解决办法

查看能下载的wsl系统时,显示网络出现问题 解决办法:更换网络节点 最终效果:

从零开始详解OpenCV车道线检测

前言 车道线检测是智能驾驶和智能交通系统中的重要组成部分,对于提高道路安全、交通效率和驾驶舒适性具有重要意义。在本篇文章中将介绍使用OpenCV进行车道线的检测 详解 导入包 import cv2 import matplotlib.pyplot as plt import numpy as np读入图像并灰度化…

双点重发布

一,实验要求 二,实验操作 loopback 0: 抓取流量并做策略,导入ospf1 [r1]ip ip-prefix aa permit 1.1.1.0 24 [r1]route-policy aa permit node 10 [r1-route-policy]if-match ip-prefix aa [r1-ospf-1]import-route direct rou…

进程创建-fork

demo1代码状态变迁 demo2代码输出到stdout使用管道 demo1 代码 #include <pthread.h> #include <iostream> #include <unistd.h> int main(int argc, char const *argv[]) {// 1.pid_t x fork();// 2.pid_t y fork();// 3.printf("%d %d\n", x…

PSFRGAN量化:量化技术、实现步骤与常见问题解决

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 背景PyTorch 量化量化流程动态量化训练后量化量化感知训练 Eager 模式量化训练后动态量…

分区恢复:恢复已删除/丢失的硬盘分区数据方法

通常情况下&#xff0c;如果分区正常&#xff0c;您可以直接在Windows资源管理器中看到并访问它。如果启动计算机时在Windows资源管理器中看不到某个分区&#xff0c;则该分区可能会丢失。将有一些解决方案可以帮助您修复和恢复已删除或丢失的硬盘驱动器分区&#xff0c;或从丢…

Spring Boot整合ElasticSearch实战 - 第511篇

历史文章&#xff08;文章累计500&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…

Shell编程之函数

Shell函数 将命令序列按格式写在一起可方便重复使用命令序列Shell函数定义. 调用函数的方法 使用Shell函数的优点 使用函数可以避免代码重复使用函数可以将大的工程分割为若干小的功能模块&#xff0c;代码的可读性更强 Shell 函数定义 方式一&#xff1a; function 函数名…

Linux下Telemac-Mascaret源码编译安装及使用

目录 软件介绍 基本依赖 其它可选依赖 一、源码下载 二、解压缩 三、编译安装 3.1 修改环境变量设置文件 3.2 修改配置文件 3.3 编译安装 四、算例运行 软件介绍 TELEMAC-MASCARET是法国电力集团(EDF)的法国国立水利与环境实验室开发的一款研究水动力学和水文学领域的…

【C语言】指针(一)

目录 一、内存 1.1 ❥ 理解内存和地址的关系 1.2 ❥ 编址 二、指针变量 2.1 ❥ 取地址操作符&#xff08;&&#xff09; 2.2 ❥ 指针变量和解引用操作符&#xff08;*&#xff09; 2.3 ❥ 指针变量的大小 三、指针类型的意义 3.1 ❥ 指针的解引用 3.2 ❥ 指针-整数 3…

【MySQL探索之旅】JDBC (Java连接MySQL数据库)

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

供应商管理库存用什么软件

库存的管理是一个非常重要的话题&#xff0c;不管是企业还是个人&#xff0c;在日常工作中多多少少都会涉及到库存的管理&#xff0c;那么作为供应商&#xff0c;也是需要对库存进行管理的&#xff0c;因为需要对分销商进行出货&#xff0c;所以库存的有效管理非常重要。 供应商…

【数据结构】堆(Heap)

文章目录 一、堆的概念及结构二、堆的实现1.向上调整算法2.向下调整算法3.堆的创建4.堆的插入5.堆的删除6.堆的其他操作 三、堆的应用1.堆排序2.Top-K问题 一、堆的概念及结构 堆(Heap)是一种特殊的非线性结构。堆中的元素是按完全二叉树的顺序存储方式存储在数组 中。满足任意…

【送书福利第七期】你好!Java(文末送书)

文章目录 编辑推荐内容简介作者简介目录前言/序言 编辑推荐 适读人群 &#xff1a;程序员;相关院校师生 本书以轻松幽默的语言&#xff0c;从零开始介绍Java语言。书名来源于编程语言中最经典的Hello World程序&#xff0c;寓意带读者从入门到精通。 书中每章都设有总结与扩展…

开源软件托管平台gogs操作注意事项

文章目录 一、基本说明二、gogs私有化部署三、设置仓库git链接自动生成参数四、关闭新用户注册入口 私有化部署gogs托管平台&#xff0c;即把gogs安装在我们自己的电脑或者云服务器上。 一、基本说明 系统环境&#xff1a;ubuntu 20.4docker安装 二、gogs私有化部署 前期准…

深入学习心理学才知道以前高估了自己的交易能力

人的大脑总是能带来无限的惊喜。你能同时完成很多种工作而没有觉察你自己正在做这些事情。比如你一边开车一边打电话讨论着很严肃的事&#xff0c;边吃饭边用眼睛关心着后排坐着的孩子。除了这些外部的动作&#xff0c;你的内脏机能也在马不停蹄的工作着。这一切并不需要我们付…