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

news2024/9/24 23:33:18

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++)); do
        echo ------------------- 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数据同步备份工具 就结束了!!!🎉🎉🎉
欢迎小伙伴们学习和指正!!!😊😊😊
祝大家学习和工作一切顺利!!!😎😎😎

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

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

相关文章

设计模式之建造者模式详解

建造者模式 1&#xff09;概述 将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 1.复杂对象 复杂对象是指包含多个成员属性的对象。 2.结构图 Builder&#xff08;抽象建造者&#xff09;&#xff1a;它为创建一个产品Product对象…

项目2-用户登录

1.创建项目 2.引入前端代码并检查是否有误 3.定义接口 需求分析 对于后端开发⼈员⽽⾔, 不涉及前端⻚⾯的展⽰, 只需要提供两个功能 1. 登录⻚⾯: 通过账号和密码, 校验输⼊的账号密码是否正确, 并告知前端 2. ⾸⻚: 告知前端当前登录⽤⼾. 如果当前已有⽤⼾登录, 返回登录的账…

看看Java Web怎么上传文件到服务器

旁白不多说了直接上主题了。 1、新建上传文件夹 在eclipse中&#xff0c;在我们前面文章中用到的项目HelloJSP&#xff0c;在webapp目录下新建uploadfiles文件夹&#xff0c;如下所示&#xff1a; 2、修改HelloWorld.jsp文件 <body><h1>文件上传</h1><…

稻飞虱在线监测仪的工作原理

TH-DF122随着现代农业科技的快速发展&#xff0c;智能化、精准化的农业管理工具日益成为农业生产的得力助手。其中&#xff0c;稻飞虱在线监测仪作为一种创新的农业监测设备&#xff0c;正以其独特的工作原理和显著的应用效果&#xff0c;成为保障稻田生态安全和提高稻米产量的…

ideaSSM 人才引进管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 人才引进管理系统是一套完善的信息管理系统&#xff0c;结合SSM框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff…

[python]bar_chart_race设置日期格式

1、设置日期标签的时间格式 # 设置日期格式&#xff0c;默认为%Y-%m-%dbcr.bar_chart_race(df, covid19_horiz.gif, period_fmt%b %-d, %Y) 2、更改日期标签为数值 # 设置日期标签为数值bcr.bar_chart_race(df.reset_index(dropTrue), covid19_horiz.gif, interpolate_period…

关于在CentOS中卸载MySQL

想要卸载MySQL当然要知道自己的MySQL是用那种方法来安装的了&#xff0c;一般来说MySQL的安装方法在市面上有三种 编译安装、YUM安装、RPM安装&#xff0c;下面会介绍到后两种安装的卸载方法 首先查看是否安装MySQL&#xff0c;一般可以看到版本信息就证明安装了 mysql -V 卸载…

day04_JDBC_课后练习(创建数据库,表格,添加模拟数据,搭建开发环境,编写实体类,实现接口,测试)

文章目录 day04_JDBC_课后练习1、创建数据库2、创建如下表格3、添加模拟数据4、搭建开发环境&#xff0c;准备各个工具组件&#xff08;1&#xff09;使用druid&#xff08;德鲁伊&#xff09;数据库连接池&#xff08;2&#xff09;使用尚硅谷的JDBCTools工具类&#xff08;直…

高中信息技术教资刷题笔记_选择题篇

1.信息技术基础 位与字节的换算 模2除法运算 网页保存 进制之间的计算 教你快速学会二进制、十进制、十六进制之间的转换 - 知乎 (zhihu.com) 原码、补码、反码计算 物联网技术 位运算 按位与&#xff1a;同位置为1&#xff0c;则为1&#xff0c;其他都是0按位或&#xff1a;有…

[Windows常用软件] word 复制粘贴报错修复

背景 在word 内 ctrlv 会报这个错。 microsoft visual basic MathPage.Wll 运行时错误 网上查了一下是 mathtype 导致的&#xff0c;应该是我之前卸载 mathtype 没有卸载干净导致的。 解决方案 参考知乎里面的一个回答解决的&#xff1a;https://www.zhihu.com/question/37…

GAMES101 学习4

材质和外观 材质 BRDF 漫反射 任何方向的光进来都会被均匀的反射到周围各个不同的方向上去 假设能量守恒&#xff0c;那么 Li Lo&#xff0c;这之后BRDF就 &#xff0c;就可以定义一个反照率 &#xff08;Albeo&#xff09; - &#xff0c;在&#xff08;0 - 1&#xff0…

SpringCloud Alibaba Nacos简单应用(二)

&#x1f600;前言 本篇博文是关于SpringCloud Alibaba Nacos简单应用&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的…

人才储备再升级!软通动力子公司鸿湖万联多名讲师荣获首批“鸿蒙原生应用开发培训讲师”认证

近日&#xff0c;由鸿蒙生态服务公司组织开展的国内首批“鸿蒙原生应用开发培训讲师”认证顺利完成。作为此次认证的重要参与者&#xff0c;鸿湖万联申报的四位鸿蒙资深专家级讲师&#xff0c;经过严格的评审环节&#xff0c;全部成功获得了国内首批“鸿蒙原生应用开发培训讲师…

vue基础——java程序员版(总集)

前言&#xff1a; ​ 这是一个java程序员的vue学习记录。 ​ vue是前端的主流框架&#xff0c;按照如今的就业形式作为后端开发的java程序员也是要有所了解的&#xff0c;下面是本人的vue学习记录&#xff0c;包括vue2的基本使用以及引入element-ui&#xff0c;使用的开发工具…

外部普米集中监控多个Prometheus实例:Prometheus Agent 模式与Prometheus 联邦模式 超级详细

外部普米集中监控多个Prometheus实例 Prometheus Agent 模式-使用推送方式来监控1.外部Prometheus配置1.需要开放端口&#xff0c;在启动时&#xff0c;需要配置开放监听端口2.添加prometheus启动参数3.修改配置后重启prometheus即可 2.各个节点的普米配置1.修改prometheus.yml…

夜神模拟器如何配置BurpSuite抓包及安装Xposed框架

希望和各位大佬一起学习&#xff0c;如果文章内容有错请多多指正&#xff0c;谢谢&#xff01; 个人博客链接&#xff1a;CH4SER的个人BLOG – Welcome To Ch4sers Blog 0x00 前言 夜神模拟器安卓 7 以上直接安装证书是无法成功抓取 App 的 HTTPS 数据包的&#xff0c;因为安…

FTP服务器部署

1、FTP 概述 1 &#xff09; FTP &#xff1a; File Transfer Protocol &#xff1a;文件传输协议 2 &#xff09; FTP 协议包括两个组成部分&#xff08; C/S) FTP 服务器 FTP 客户端 3 &#xff09; FTP 服务器用来存储文件 , 客户端电脑可以使用 FTP 客户端软件 来进行…

005、Dynamo与Revit API之间的转换

今天来聊聊 Dynamo 与 Revit 之间图元转换的基础知识&#xff0c;这些需要你牢牢记住哦&#xff0c;不然在 Python script 中写代码&#xff0c;经常会报错的~ 通常来讲&#xff0c;所有来自 Dynamo 节点的几何图形都不是 Revit 的几何对象&#xff0c;所以它们需要与 Revit AP…

Unity 布局元素Layout Element

Layout Element是一种用于控制UI元素在布局组件&#xff08;如Horizontal Layout Group、Vertical Layout Group、Grid Layout Group、Content Size Fitter和Aspect Ratio Fitter&#xff09;中的大小和位置的组件。Layout Element组件可以附加到UI元素上&#xff0c;以便在布局…

牛客题霸-SQL篇(刷题记录三)

本文基于前段时间学习总结的 MySQL 相关的查询语法&#xff0c;在牛客网找了相应的 MySQL 题目进行练习&#xff0c;以便加强对于 MySQL 查询语法的理解和应用。 由于涉及到的数据库表较多&#xff0c;因此本文不再展示&#xff0c;只提供 MySQL 代码与示例输出。 以下内容是…