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

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

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

相关文章

基于RK3588多can口多串口机器人全功能板

RK3588机器人控制器有五大技术优势 1. 内置多种功能强大的嵌入式硬件引擎&#xff0c;支持8K60fps 的 H.265 和 VP9 解码器、8K30fps 的 H.264 解码器和 4K60fps 的 AV1 解码器&#xff1b;支持 8K30fps 的 H.264 和H.265 编码器&#xff0c;高质量的 JPEG 编码器/解码器&…

网络探测工具Nmap介绍

1. Nmap简介 Nmap是一款用于网络发现和安全审计的网络安全工具。可用于列举网络主机清单、管理服务升级调度、监控主机、监控主机服务运行状况、检测目标主机是否在线和端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等。 2. 命令大纲 3. 命令详细介绍…

基于 Linux 的更新版 MaxPatrol VM 可扫描 Windows

&#x1f47e; MaxPatrol VM 2.1 是俄罗斯唯一一款可以安装在 Linux 上并以审计和五重测试模式扫描 Windows 主机&#xff08;甚至是旧版本&#xff09;的漏洞管理产品。 让我们告诉你更新后的 MaxPatrol VM 还有哪些有用的功能&#xff1a; 1. 由于采用了新的数据存储模式&a…

【物联网开源平台】tingsboard安装与编译

别看这篇了&#xff0c;这篇就当我的一个记录&#xff0c;我有空我再写过一篇&#xff0c;编译的时候出现了一个错误&#xff0c;然后我针对那一个错误执行了一个命令&#xff0c;出现了绿色的succes,我就以为整个tingsboard项目编译成功了&#xff0c;后面发现的时候&#xff…

dubbo 源码系列之-集群三板斧---负载均衡(二)

在上一课时我们了解了 LoadBalance 接口定义以及 AbstractLoadBalance 抽象类的内容&#xff0c;还详细介绍了 ConsistentHashLoadBalance 以及 RandomLoadBalance 这两个实现类的核心原理和大致实现。本课时我们将继续介绍 LoadBalance 的剩余三个实现。 LeastActiveLoadBala…

C语言从入门到实战----数据在内存中的存储

1. 整数在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下⾯的内容&#xff1a; 整数的2进制表⽰⽅法有三种&#xff0c;即 原码、反码和补码 有符号的整数&#xff0c;三种表⽰⽅法均有符号位和数值位两部分&#xff0c;符号位都是⽤0表⽰“正”&#xff0c;⽤…

[蓝桥杯 2022 省 A] 求和

[蓝桥杯 2022 省 A] 求和 题目描述 给定 n n n 个整数 a 1 , a 2 , ⋯ , a n a_{1}, a_{2}, \cdots, a_{n} a1​,a2​,⋯,an​, 求它们两两相乘再相加的和&#xff0c;即 S a 1 ⋅ a 2 a 1 ⋅ a 3 ⋯ a 1 ⋅ a n a 2 ⋅ a 3 ⋯ a n − 2 ⋅ a n − 1 a n − 2 ⋅ a…

【MD】激光驱动原子动力学的全尺寸从头算模拟

Zeng Q, Chen B, Zhang S, et al. Full-scale ab initio simulations of laser-driven atomistic dynamics[J]. npj Computational Materials, 2023, 9(1): 213.核心研究内容&#xff1a; 本文研究了激光驱动的原子动力学的全尺度从头算模拟。研究的重点是探讨在极端条件下材料…

Linux基础系统设置与备份策略

文章目录 Linux基础系统设置网络设置(手动设置与DHCP自动获取)&#xff1a;nmcli、hostname日期与时间设置&#xff1a;timedatectl、ntpdate语系设置防火墙简易设置 Linux 服务器硬件数据的收集&#xff1a;dmidecode、lspci、lsusb、iostat了解磁盘的健康状态Linux 备份要点确…

【MySQL】2.MySQL数据库的基本操作

目录 数据库基本操作 查看数据库信息 查看数据库结构 显示数据表的结构&#xff08;字段&#xff09; 常用的数据类型 数据库管理操作 SQL语句概述 SQL分类 1.DDL&#xff1a;数据定义语言 1.1创建数据库和表 创建数据库 创建数据表 1.2删除数据库和表 删除数据表…

vscode c++环境配置

1.基础软件安装 安装Visual Studio Code. 安装C拓展。点击在vscode界面最左侧的Extensions图标&#xff08;打开快捷键&#xff1a;ctrlshiftX&#xff09;&#xff0c;搜索“C/C”&#xff0c;点击进行安装。 确保已安装gcc. 一般ubuntu系统会预装gcc.在终端窗口中输入如下…

Linux系统使用Docker部署Jupyter Notebook结合内网穿透实现公网访问本地笔记

文章目录 1. 选择与拉取镜像2. 创建容器3. 访问Jupyter工作台4. 远程访问Jupyter工作台4.1 内网穿透工具安装4.2 创建远程连接公网地址4.3 使用固定二级子域名地址远程访问 本文主要介绍如何在Ubuntu系统中使用Docker本地部署Jupyter Notebook&#xff0c;并结合cpolar内网穿透…

《早起的奇迹》要么躺在床上等待生活的暴击,要么早起创造奇迹 - 三余书屋 3ysw.net

精读文稿 今天我们讲述的是关于《早起的奇迹》。通过神奇的早起&#xff0c;我们可以获得改变人生的力量。首先我要给你讲一个故事&#xff0c;这个故事的主人公是一个年轻人&#xff0c;他在少年时就取得了巨大的成就&#xff0c;在15岁时他已经拥有了自己的电台节目&#xff…

数据结构:堆和二叉树遍历

堆的特征 1.堆是一个完全二叉树 2.堆分为大堆和小堆。大堆&#xff1a;左右节点都小于根节点 小堆&#xff1a;左右节点都大于根节点 堆的应用&#xff1a;堆排序&#xff0c;topk问题 堆排序 堆排序的思路&#xff1a; 1.升序排序&#xff0c;建小堆。堆顶就是这个堆最小…

2024/03/27(C++·day3)

一、思维导图 二、完成下面类 代码 #include <cstring> #include <iostream>using namespace std;class myString { private:char *str; // 记录C风格的字符串int size; // 记录字符串的实际长度public:// 无参构造函数myString() : size(10){str new char[si…

JVM(六)——内存模型与高效并发

内存模型与高效并发 一、java 内存模型 【java 内存模型】是 Java Memory Model&#xff08;JMM&#xff09; 简单的说&#xff0c;JMM 定义了一套在多线程读写共享数据时&#xff08;成员变量、数组&#xff09;时&#xff0c;对数据的可见性、有序 性、和原子性的规则和保障…

基于springboot+vue+Mysql的网上图书商城

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

M1 mac安装 Parallels Desktop 18 激活

M1 mac安装 Parallels Desktop 18 激活 下载安装Parallels Desktop 18.1.1 (53328) 激活1. 拷贝prl_disp_service2. 在终端打开Crack所在位置3. 输入命令&#xff0c;激活成功 下载 安装包和激活文件下载地址 链接: https://pan.baidu.com/s/1EjT7xeEDcntIIoOvvhBDfg?pwd9pue …

基于springboot的房屋租赁管理系统+数据库+免费远程调试

项目介绍: 基于springboot的房屋租赁管理系统。Javaee项目&#xff0c;springboot项目&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringBoot JspMaven来实现。MyS…

基于Springboot的艺体培训机构业务管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的艺体培训机构业务管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层…