Linux 基于 rsync 实现集群分发脚本 xsync

一、rsync 简介

        rsyncremote synchronize)是 Liunx/Unix 下的一个远程数据同步工具。它可以通过 LAN/WAN 快速同步多台主机间的文件和目录,并适当利用 rsync 算法(差分编码)以减少数据的传输。

        rsync 算法并不是每一次都整份传输,而是只传输两个文件的不同部分,因此其传输速度相当快。除此之外,rsync 支持拷贝文件、显示目录属性等,并可以选择性的压缩以及递归拷贝。

二、安装

        如果想要几台服务器互相传文件,则需要每台服务器都安装这个工具,如果只是一个节点向其他节点发送文件,那么安装和修改配置文件只需要操作一台服务器即可。

yum install -y rsync

三、修改配置文件

        1、etc/hosts 中添加映射,信息如下:

192.168.229.165 mylinux01
192.168.229.169 mylinux02
192.168.229.168 mylinux03

        2、配置 ssh 免密,执行下面的命令

# 删除原有的配置文件
rm -rf /root/.ssh# 生成密钥,执行命令三次回车即可
ssh-keygen# 切换目录,并重命名文件
cd /root/.ssh
mv id_rsa.pub authorized_keys# 配置免密操作
scp -r /root/.ssh mylinux02:/root
scp -r /root/.ssh mylinux03:/root

四、编写 xsync 脚本

        1、mylinux01 服务器的 /bin 目录下创建一个文件名为 xsync 的文件,内容如下所示:

#!/bin/bash
# 1、判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi
# 2、遍历集群所有机器
for host in mylinux01 mylinux02 mylinux03     # 注意修改hosts对应解析
doecho ====================  $host  ====================
# 3、遍历所有目录,挨个发送for file in $@do
# 4、判断文件是否存在if [ -e $file ]then
# 5、获取父目录pdir=$(cd -P $(dirname $file); pwd)
# 6、获取当前文件的名称fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done

        2、赋权

chmod 777 xsync

        3、测试

xsync test

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

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

相关文章

Redis 常见数据结构以及使用场景分析

Java面试题目录 Redis 常见数据类型以及使用场景分析 Redis中有string、list、hash、set、sorted set、bitmap这6种数据类型。 string可以用来做缓存,分布式锁,计数器等。 list可以实现消息队列,分页查询等。 hash适合存储对象结构。 set 可…

QT问题 ui提升部件时No such file or directory

问题: qt使用ui对部件提升在编译时找不到对应的头文件 出错原因: 因为将部件提升为自定义部件后,在编译时会去默认的路径下去找头文件,而自定义的头文件并不在默认路径文件下,而是在当前目录下,所以这个时候需要自己指定出自…

回归预测 | Matlab实现RIME-HKELM霜冰算法优化混合核极限学习机多变量回归预测

回归预测 | Matlab实现RIME-HKELM霜冰算法优化混合核极限学习机多变量回归预测 目录 回归预测 | Matlab实现RIME-HKELM霜冰算法优化混合核极限学习机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现RIME-HKELM霜冰算法优化混合核极限学习机多变…

Redis群集-主从、哨兵、集群

redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster ●主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢…

priority_queue比较规则

priority_queue比较规则 std::priority_queue实际上就是一个堆&#xff0c;可用于堆排序。 std::priority_queue是C STL中的一个容器适配器&#xff0c;它提供常数时间查找最大元素的功能。默认情况下&#xff0c;它使用元素的<运算符进行排序&#xff08;升序&#xff09…

关于java的面向对象

关于java的面向对象 我们在前面的文章中&#xff0c;学习到了java的基础知识。类&#xff0c;变量&#xff0c;方法&#xff0c;数组等&#xff0c;我们本篇文章来了解一下&#xff0c;java的面向对象&#xff0c;也是java比较核心的存在&#x1f60a; 1、面向过程的思想&…

Redis 发布订阅

目录 1.Redis Unsubscribe 命令 - 指退订给定的频道。简介语法可用版本: > 2.0.0返回值: 这个命令在不同的客户端中有不同的表现。 示例 2.Redis Subscribe 命令 - 订阅给定的一个或多个频道的信息。简介语法可用版本: > 2.0.0返回值: 接收到的信息 示例 3.Redis Pubsub …

【技能---labelme软件的安装及其使用--ubuntu】

文章目录 概要Labelme 是什么&#xff1f;Labelme 能干啥&#xff1f; Ubuntu20.04安装Labelme1.Anaconda的安装2.Labelme的安装3.Labelme的使用 概要 图像检测需要自己的数据集&#xff0c;为此需要对一些数据进行数据标注&#xff0c;这里提供了一种图像的常用标注工具——la…

13. C++ linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进程

linux命令&#xff1a; 查看端口占用&#xff1a;losf -i:端口号 、netstat -tunlp cpu负载: top、uptime 内存占用: free -m、vmstat -s、top 查看磁盘: df、du Linux命令netstat用过吗&#xff1f; Linux如何查看哪些进程占用的内存最多: ps aux tracetoute命令了解吗…

ChatSDK 全双工语音识别库

ChatSDK :是对AIUI的语音SDK封装,套餐费用最低在6万/年iflylib :是对原始msc的语音SDK封装&#xff0c;相对AIUI便宜很多baidulib :是对百度语音SDK封装,百度号称永久免费AIUITools :AIUI网络测试工具-折线图动态测试可持续观测 共同特点&#xff1a;实现了全双工语音识别iat、…

Camunda Spin

Spin 常用于在脚本中解析json或者xml使用&#xff0c;S(variable) 表示构造成Spin对象&#xff0c;通过prop(“属性名”)获取属性值&#xff0c;通过stringValue()、numberValue()、boolValue() 等对类型转换。 repositoryService.createDeployment().name("消息事件流程&…

web第一次作业

题1&#xff1a; <form action"#" method"post"><table><tr><td>用户名&#xff1a;</td><td><input type"text" name"UserName" maxlength"20" size"15"></td>…

NumPy 数据操作实用指南:从基础到高效(上)

简介&#xff1a; 本文介绍了使用 NumPy 进行数据操作的基本步骤&#xff0c;包括导入库、创建数组、基本操作等。通过实例演示了如何利用 NumPy 进行数组的创建、索引、切片、变形、级联和切割等操作&#xff0c;以及如何应用这些功能在图像处理中进行实际应用。 numpy get st…

C++之单例模式

C之单例模式 前言介绍1、单例模式是什么&#xff1f;1.1 实现单例模式的三个要点1.2 单例模式分类 2. 懒汉式2.1 懒汉实现&#xff1a;基础方法2.2 懒汉实现&#xff1a;基于单锁2.3 懒汉实现&#xff1a;基于双重检测锁2.4 懒汉实现&#xff1a;基于双重检测锁和资源管理2.4.1…

Javascript——vue下载blob文档流

<el-table-column label"操作" fixed"right" width"150" showOverflowTooltip><template slot-scope"scope"><el-button type"text" v-has"stbsd-gjcx-down" class"edit-button" click&…

Mac 远程到 windows/Linux 开发体验为什么这么差?

随着科技的发展&#xff0c;远程开发已经成为一种常见的开发方式&#xff0c;其中Mac远程到windows/Linux开发也得到了广泛的应用。然而&#xff0c;许多用户反映Mac远程到windows/Linux开发体验并不理想&#xff0c;存在诸多问题。本文将深入探讨这些问题&#xff0c;并分析其…

MySQL 从零开始:02 MySQL 安装

文章目录 1、下载 MySQL 安装程序2、安装 MySQL 要操作 MySQL &#xff0c;首先要安装 MySQL &#xff0c;本文将一步步展示如何安装 MySQL&#xff0c;简直详细到令人发指。 环境&#xff1a; 操作系统&#xff1a;Windows10 64位MySQL版本&#xff1a;社区版 8.0.11.0 1、下…

探索AI技术的奥秘:揭秘人工智能的核心原理

人工智能&#xff08;AI&#xff09;已经成为当今科技领域最引人注目的话题之一。然而&#xff0c;对于许多人来说&#xff0c;AI仍然是一个神秘的领域&#xff0c;不清楚其核心原理。本文将探索AI技术的奥秘&#xff0c;为读者揭开人工智能的核心原理。 随着技术的飞速发展&am…

Asynchronous FIFO and synchronous FIFO-翻译自外网

Synchronous FIFO 先进先出 (FIFO) 是一种非常流行且有用的设计块&#xff0c;用于模块之间的同步和握手机制。 FIFO 的深度&#xff1a; FIFO 中的槽数或行数称为 FIFO 的深度。 FIFO 的宽度&#xff1a;每个槽或行中可以存储的位数称为 FIFO 的宽度。 在同步 FIFO 中&…

6.2 声音编辑工具GoldWave5简介(1)

不管你的MP3歌曲的简单剪接或者音频格式的转换,还是更加高级的后期加工 GoldWave5都可以令你轻松胜,甚至你自己录一首卡拉OK,也可以经过GoldWave5的修饰成为像歌星一样水晶般的动人声音!除了附有许多的效果处理功能外&#xff0c;它还能将编辑好的文件存成WAV、AU、SND、RAW、A…