当前位置: 首页 > news >正文

37、Linux中Xsync数据同步备份工具

37、Linux中Xsync数据同步备份工具

  • 一、介绍
  • 二、配置集群hostname
  • 三、修改xsync文件
  • 四、赋权
  • 五、安装Rsync
  • 六、验证一
  • 七、配置免密登录
    • 1、生成rsa密钥
    • 2、copy机器自身公钥到目标机器
    • 3、.ssh/文件目录赋权
  • 八、验证二

⚠️ 注:本文全程在普通用户下操作,非root账户。个别命令前需要添加sudo

一、介绍

Xsync: 基于 Rsync 工具编写的 Linux shell 脚本。用于简化在 集群环境中同步文件 的操作。该脚本封装了 Rsync 命令行参数,可以 将本地文件或目录同步到多台远程主机上 。尤其在Hadoop或其他分布式集群管理中非常有用。它能自动遍历集群中的各个节点并执行同步任务。

     简而言之,在集群机器配置时,经常 需要将一个文件或目录copy到同样的多台集群上。 一个一个机器去复制,比较麻烦。如果有一个办法,通过一条命令就可以实现这个目的,就简单多了。xsync就是这样一个同步脚本。 Xsync 其实是对 Rsync 脚本的二次封装,脚本内容可以根据自己需要进行修改。

二、配置集群hostname

# 命令
sudo vim /etc/hosts

添加如下内容(ip和主机名根据实际情况修改):

# ip和主机名
192.168.250.130 ulanhada130
192.168.250.131 ulanhada131
192.168.250.132 ulanhada132

在这里插入图片描述

三、修改xsync文件

修改 /usr/local/bin/ 下的 xsync 文件,如果没有就新建。

# 新建xsync文件
touch xsync

xsync 文件中,添加如下内容:

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir#4 获取当前用户名称
user=`whoami`#5 循环
for((host=130;host<133;host++)); doecho ------------------- ulanhada$host --------------rsync -rvl $pdir/$fname $user@ulanhada$host:$pdir
done

其中的 ulanhada 是我起的名字,与 hosts 中配置的 ulanhada 一样,可自定义,但两者必须匹配,大家根据实际情况修改~

四、赋权

chmod 777 xsync

五、安装Rsync

需要给每台远程目标服务器下载 rsync,包括本机。如果都已安装,则跳过该步骤~

sudo yum -y install rsync

在这里插入图片描述

六、验证一

使用 xsync +需要分发的文件名(文件夹也可以) 进行分发

# 语法:xsync [文件名/文件夹名]
xsync a.txt

在这里插入图片描述
由上图可见,需要 输入各个服务器的密码
如果打算省略输入密码的步骤,请看 步骤七
如果需要输入密码,则跳过步骤七。

七、配置免密登录

1、生成rsa密钥

使用命令 ssh-keygen 生成 rsa密钥。配置信息直接回车即可, 生成的密钥默认在当前用户主目录的 .ssh 目录下。
📣密钥文件有两个:
id_rsa: 存放着私钥
id_rsa.pub: 存放着公钥

ssh-keygen

在这里插入图片描述
在这里插入图片描述

2、copy机器自身公钥到目标机器

在各个远程目标机器的用户主目录创建 .ssh 目录

mkdir -p ~/.ssh

在本地执行远程拷贝命令

cd /home/ulanhada/.ssh
#  语法:scp [本地文件的绝对路径] [服务器用户名]@[主机名/主机IP]:[远程文件的绝对路径]
scp id_rsa.pub ulanhada@ulanhada130:/home/ulanhada/.ssh/authorized_keys
scp id_rsa.pub ulanhada@ulanhada131:/home/ulanhada/.ssh/authorized_keys
scp id_rsa.pub ulanhada@ulanhada132:/home/ulanhada/.ssh/authorized_keys

在这里插入图片描述
📣拓展:
递归复制整个目录

# 语法:scp -r [本地文件夹的绝对路径] [服务器用户名]@[主机名/主机IP]:[远程文件夹的绝对路径]

3、.ssh/文件目录赋权

在各个目标服务器分别给 .ssh 文件夹赋权限

chmod 700 .ssh/

八、验证二

xsync d.txt

在这里插入图片描述
上图所示,发现不再需要输入密码。则无密码传输配置成功~


到这里 Linux中Xsync数据同步备份工具 就结束了!!!🎉🎉🎉
欢迎小伙伴们学习和指正!!!😊😊😊
祝大家学习和工作一切顺利!!!😎😎😎

相关文章:

37、Linux中Xsync数据同步备份工具

37、Linux中Xsync数据同步备份工具 一、介绍二、配置集群hostname三、修改xsync文件四、赋权五、安装Rsync六、验证一七、配置免密登录1、生成rsa密钥2、copy机器自身公钥到目标机器3、.ssh/文件目录赋权 八、验证二 ⚠️ 注&#xff1a;本文全程在普通用户下操作&#xff0c;…...

网络基础:构建你的数字世界之桥

I. 引言 A. 什么是网络&#xff1f; 网络是由各种电子设备通过通信线路或无线电波连接起来&#xff0c;以便彼此之间进行数据交换和资源共享的系统。在当今数字化时代&#xff0c;网络已经成为我们生活和工作中不可或缺的一部分&#xff0c;无论是互联网、局域网还是无线通信…...

Python 全栈系列236 rabbit_agent搭建

说明 通过rabbit_agent, 以接口方式实现对队列的标准操作&#xff0c;将pika包在微服务内&#xff0c;而不必在太多地方重复的去写。至少在服务端发布消息时&#xff0c;不必再去考虑这些问题。 在分布式任务的情况下&#xff0c;客户端本身会启动一个持续监听队列的客户端服…...

管理自由,体验简单,使用安全 | 详解威联通全套多用户多权限管理方案【附TS-466C产品介绍】

管理自由&#xff0c;体验简单&#xff0c;使用安全 | 详解威联通全套多用户多权限管理方案【附TS-466C产品介绍】 哈喽小伙伴们好&#xff0c;我是Stark-C~。今天我们来解决一个之前评论区多次被提及的问题--多用户权限管理。 对于我们NAS用户来说&#xff0c;基本都会面临这…...

【Redis】优惠券秒杀

全局唯一ID 全局唯一ID生成策略&#xff1a; UUIDRedis自增snowflake算法数据库自增 Redis自增ID策略&#xff1a;每天一个key&#xff0c;方便统计订单量ID构造是 时间戳 计数器 Component public class RedisIdWorker {// 2024的第一时刻private static final long BEGIN…...

【几何】平面方程

文章目录 平面方程一般式截距式点法式法线式 平面方程 平面方程是用一个方程来表示平面&#xff0c;平面上的所有点代入方程&#xff0c;方程都成立。因为用法的不同&#xff0c;平面方程一般有四种表现形式。 一般式 设 n ⃗ ( A , B , C ) \vec n(A,B,C) n (A,B,C) 为平…...

macOS访问samba文件夹的正确姿势,在哪里更改“macOS的连接身份“?还真不好找!

环境&#xff1a;路由器上需要身份认证的Mini NAS macOS Sonoma 14 这是一个非常简单的问题&#xff0c;但解决方法却藏得比较深&#xff0c;不够直观&#xff0c;GPT也没有给出明确的解决提示&#xff0c;特意记录一下。 macOS很多地方都很自动&#xff0c;有时候让人找不到设…...

linux进程切换

内核堆栈&#xff1a;每个进程在内核模式下运行时都有自己的内核堆栈。这个堆栈保存了进程在内核模式下的运行状态&#xff0c;包括函数调用时传递的参数、局部变量和返回地址等。 用户态与内核态&#xff1a;进程通常在用户态下运行&#xff0c;当执行系统调用或响应中断时进…...

spring boot 如何升级 Tomcat 版本

在Spring Boot应用程序中升级内嵌的Tomcat版本通常涉及以下几个步骤&#xff1a; 1. 确定当前使用的Tomcat版本 首先&#xff0c;你需要确定你的Spring Boot应用程序当前使用的Tomcat版本。这可以通过查看项目的pom.xml或build.gradle文件来完成&#xff0c;其中会列出所有的…...

sentinel中StatisticSlot数据采集的原理

StatisticSlot数据采集的原理 时间窗口 固定窗口 在固定的时间窗口内&#xff0c;可以允许固定数量的请求进入&#xff1b;超过数量就拒绝或者排队&#xff0c;等下一个时间段进入, 如下图 时间窗长度划分为1秒 单个时间窗的请求阈值为3 上述存在一个问题, 假如9:18:04:…...

图像去噪与增强技术

图像去噪与增强技术是数字图像处理领域中的两个重要方面&#xff0c;它们分别关注消除图像中的噪声和改善图像的质量。 图像去噪技术的主要目的是从受噪声干扰的图像中去除不必要的随机信号&#xff0c;以恢复图像的真实内容。这对于图像的进一步分析和理解至关重要。去噪技术包…...

SpringJPA 做分页条件查询

前言: 相信小伙伴们的项目很多都用到SpringJPA框架的吧,对于单表的增删改查利用jpa是很方便的,但是对于条件查询并且分页 是不是很多小伙伴不经常写到. 今天我整理了一下在这里分享一下. 话不多说直接上代码: Controller: RestController public class ProductInstanceContr…...

[Java基础揉碎]单例模式

目录 什么是设计模式 什么是单例模式 饿汉式与懒汉式 饿汉式vs懒汉式 懒汉式存在线程安全问题 什么是设计模式 1.静态方法和属性的经典使用 2.设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、 以及解决问题的思考方式。设计模式就像是经典的棋谱&am…...

unity无法使用道路生成插件Road Architect(ctrl和shift无法标点)

切换一下布局就行了。 附&#xff1a;Road Architect教学地址...

Django下载使用、文件介绍

【一】下载并使用 【1】下载框架 &#xff08;1&#xff09;注意事项 计算机名称不要出现中文python解释器版本不同可能会出现启动报错项目中所有的文件名称不要出现中文多个项目文件尽量不要嵌套,做到一项一夹 &#xff08;2&#xff09;下载 Django属于第三方模块&#…...

Docker进阶:Docker-cpmpose 实现服务弹性伸缩

Docker进阶&#xff1a;Docker-cpmpose 实现服务弹性伸缩 一、Docker Compose基础概念1.1 Docker Compose简介1.2 Docker Compose文件结构 二、弹性伸缩的原理和实现步骤2.1 弹性伸缩原理2.2 实现步骤 三、技术实践案例3.1 场景描述3.2 配置Docker Compose文件3.3 使用 docker-…...

opencv各个模块介绍(2)

Features2D 模块&#xff1a;特征检测和描述子计算模块&#xff0c;包括SIFT、SURF等算法。 Features2D 模块提供了许多用于特征检测和描述子匹配的函数和类&#xff0c;这些函数和类可用于图像特征的提取、匹配和跟踪。 FeatureDetector&#xff1a;特征检测器的基类&#xf…...

HTTPS:原理、使用方法及安全威胁

文章目录 一、HTTPS技术原理1.1 主要技术原理1.2 HTTPS的工作过程1.2.1 握手阶段1.2.2 数据传输阶段 1.3 HTTPS的安全性 二、HTTPS使用方法三、HTTPS安全威胁四、总结 HTTPS&#xff08;全称&#xff1a;Hyper Text Transfer Protocol over Secure Socket Layer&#xff09;&am…...

【云开发笔记No.6】腾讯CODING平台

腾讯云很酷的一个应用&#xff0c;现在对于研发一体化&#xff0c;全流程管理&#xff0c;各种工具层出不穷。 云时代用云原生&#xff0c;再加上AI&#xff0c;编码方式真是发生了质的变化。 从前&#xff0c;一个人可以写一个很酷的软件&#xff0c;后来&#xff0c;这变得…...

20.Ubuntu下安装GCC

文章目录 Ubuntu下安装GCC查看官方安装指导错误缺少gmp库缺少32位开发库libcg: error: gengtype-lex.c: No such file or directoryreference 欢迎访问个人网络日志&#x1f339;&#x1f339;知行空间&#x1f339;&#x1f339; Ubuntu下安装GCC 为了支持新的c标准&#xff…...

高德地图多类型点聚合的优化实践

1. 高德地图点聚合的痛点与优化思路 第一次接触高德地图点聚合功能时&#xff0c;我遇到了一个很实际的问题&#xff1a;当地图上需要同时显示餐厅、酒店、景点等不同类型的POI点时&#xff0c;传统的单一点聚合会把所有类型混在一起统计。想象一下&#xff0c;当你在地图上看到…...

从手机芯片到AI芯片:NoC拓扑结构怎么选?(Mesh、Torus、树形对比指南)

从手机芯片到AI芯片&#xff1a;NoC拓扑结构选型实战指南 当你在设计一款边缘AI芯片时&#xff0c;面对数十个需要高效协同的计算单元&#xff0c;最令人头疼的问题之一就是&#xff1a;如何选择片上网络(NoC)的拓扑结构&#xff1f;这个问题看似简单&#xff0c;实则牵一发而动…...

ns-3.43环境搭建避坑实录:从依赖冲突到‘first.cc’成功运行的完整排错指南

ns-3.43环境搭建避坑实录&#xff1a;从依赖冲突到first.cc成功运行的完整排错指南 当你在Ubuntu 24.04上第一次尝试搭建ns-3.43网络模拟环境时&#xff0c;可能会遇到各种意想不到的问题。这篇文章不是又一份按部就班的安装指南&#xff0c;而是一份真实的问题解决手册&#x…...

Pop 核心架构解析:深入理解 Bubble Tea 框架与邮件发送原理

Pop 核心架构解析&#xff1a;深入理解 Bubble Tea 框架与邮件发送原理 【免费下载链接】pop Send emails from your terminal &#x1f4ec; 项目地址: https://gitcode.com/gh_mirrors/pop2/pop 想要在终端中优雅地发送邮件吗&#xff1f;Pop 是一个基于 Go 语言开发的…...

Webpack Tree Shaking配置终极指南:如何在Awesome-Webpack中优化现代前端项目

Webpack Tree Shaking配置终极指南&#xff1a;如何在Awesome-Webpack中优化现代前端项目 【免费下载链接】awesome-webpack A curated list of awesome Webpack resources, libraries and tools 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-webpack Webpack …...

告别命令行!用C#和FFMpegCore给你的视频批量加水印和转码

用C#和FFMpegCore打造企业级视频处理流水线 每次看到团队里的小伙伴手动用FFmpeg命令行处理上百个视频文件时&#xff0c;我都忍不住想——这简直是在浪费生命。作为经历过这种痛苦的技术负责人&#xff0c;我深知自动化视频处理对于内容团队的重要性。今天&#xff0c;我将分享…...

Rust错误处理最佳实践:从恐慌到优雅处理

Rust错误处理最佳实践&#xff1a;从恐慌到优雅处理 前言 大家好&#xff0c;我是第一程序员&#xff08;名字大&#xff0c;人很菜&#xff09;&#xff0c;一个正在跟Rust所有权和生命周期死磕的后端转Rust萌新。最近&#xff0c;我开始学习Rust的错误处理&#xff0c;发现…...

HJ164 太阳系DISCO

题目题解(7)讨论(12)排行 中等 通过率&#xff1a;33.93% 时间限制&#xff1a;1秒 空间限制&#xff1a;256M 知识点广度优先搜索(BFS) 校招时部分企业笔试将禁止编程题跳出页面&#xff0c;为提前适应&#xff0c;练习时请使用在线自测&#xff0c;而非本地IDE。 描述 …...

Matlab仿真研究:三机并联风光混合储能并网系统的建模与控制策略实现

Matlab仿真三机并联风光混合储能并网系统&#xff0c;风光储并网&#xff0c;微电网系统&#xff0c;光伏电池模型&#xff0c;永磁同步风机&#xff0c;电压电流控制&#xff0c;PQ控制 波形正确&#xff0c;结构完整有参考文献&#xff0c;详情见图片 三机并联风光混合储能并…...

如何通过arknights-ui实现明日方舟界面定制?解锁个性化游戏体验新方式

如何通过arknights-ui实现明日方舟界面定制&#xff1f;解锁个性化游戏体验新方式 【免费下载链接】arknights-ui H5 复刻版明日方舟游戏主界面 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-ui arknights-ui是一个基于H5CSS技术的开源项目&#xff0c;它提供…...