Linux xsync命令脚本

Linux xsync命令脚本在/bin/目录下创建xsync脚本如下:#!/bin/bash#1.判断参数个数if[$#-lt1]thenechoNotEnoughArguement!exit;fi#2.遍历集群所有机器forhostinmasternode1node2doecho====================$host====================#3.遍历所有目录,挨个发送forfilein$@do#4…

大家好,又见面了,我是你们的朋友全栈君。

在   /bin/目录下创建   xsync

首先 :yum install -y rsync

Linux xsync命令脚本

脚本如下:

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
 echo Not Enough Arguement!
 exit;
fi

#2. 遍历集群所有机器
for host in master node1 node2
do
 echo ==================== $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:$pdir
 else
 echo $file does not exists!
 fi
 done
done

给xsync文件赋予执行权限:

chmod  777 xsync

然后执行 :    sudo  xsync   目录 

如:将 master机器/opt下的scp复制到  node1  node2

[root@master bin]#  xsync /opt/scp
-bash: /usr/local/bin/xsync: /bin/bash^M: 坏的解释器: 没有那个文件或目录
[root@master bin]# sudo  xsync /opt/scp
==================== master ====================
sending incremental file list

sent 134 bytes  received 18 bytes  304.00 bytes/sec
total size is 49  speedup is 0.32
==================== node1 ====================
sending incremental file list

sent 134 bytes  received 18 bytes  304.00 bytes/sec
total size is 49  speedup is 0.32
==================== node2 ====================
sending incremental file list

sent 130 bytes  received 18 bytes  296.00 bytes/sec
total size is 49  speedup is 0.33
[root@master bin]# cd 
[root@master ~]# xsync /opt/scp
-bash: /usr/local/bin/xsync: /bin/bash^M: 坏的解释器: 没有那个文件或目录
[root@master ~]# sudo xsync /opt/scp
==================== master ====================
sending incremental file list

sent 130 bytes  received 18 bytes  296.00 bytes/sec
total size is 49  speedup is 0.33
==================== node1 ====================
sending incremental file list

sent 134 bytes  received 18 bytes  304.00 bytes/sec
total size is 49  speedup is 0.32
==================== node2 ====================
sending incremental file list

sent 134 bytes  received 18 bytes  304.00 bytes/sec
total size is 49  speedup is 0.32
[root@master ~]# cd /opt/
[root@master opt]# cd scp/
[root@master scp]# ll
总用量 4
-rw-r--r-- 1 root root 45 12月 11 21:06 1.html
drwxr-xr-x 2 root root 22 12月 11 21:38 abc
[root@master scp]# mkdir aaaaa
[root@master scp]# cd aaaaa/
[root@master aaaaa]# vi aa.text
[root@master aaaaa]# cd
[root@master ~]# sudo xsync /opt/scp
==================== master ====================
sending incremental file list

sent 183 bytes  received 19 bytes  404.00 bytes/sec
total size is 62  speedup is 0.31
==================== node1 ====================
sending incremental file list
scp/
scp/aaaaa/
scp/aaaaa/aa.text

sent 249 bytes  received 48 bytes  594.00 bytes/sec
total size is 62  speedup is 0.21
==================== node2 ====================
sending incremental file list
scp/
scp/aaaaa/
scp/aaaaa/aa.text

sent 249 bytes  received 48 bytes  594.00 bytes/sec
total size is 62  speedup is 0.21
[root@master ~]# cd
[root@master ~]# cd /bin/
[root@master bin]# vi xsync
[root@master bin]# 

Linux xsync命令脚本

Linux xsync命令脚本

Linux xsync命令脚本

附:

zk.sh 脚本

#!/bin/bash
case $1 in
"start"){
for i in master node1 node2
do
 echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh  start"
done
};;
"stop"){
for i in master node1 node2
do
 echo ---------- zookeeper $i 停止 ------------ 
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
};;
"status"){
for i in master node1 node2
do
 echo ---------- zookeeper $i 状态 ------------ 
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
};;
esac

附:

jpsall.sh 脚本:

#!/bin/bash

# 执行jps命令查询每台服务器上的节点状态
echo ======================集群节点状态====================

for i in master node1 node2
do
        echo ====================== $i ====================
        ssh $i "/opt/jdk/jdk1.8.0_202/bin/jps"
done
echo ======================执行完毕====================

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137280.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php 字符串替换中文,PHP中文字符串替换其中为*的方法

    php 字符串替换中文,PHP中文字符串替换其中为*的方法在项目中需要对字符串的部分进行隐藏或者替换。譬如手机号码的中间几位进行隐藏,中文名字的中间替换为*号等。英文和数字等可直接用php的自带的函数进行处理。但是中文因为编码的缘故会出现不一样的效果。需要自己定义方法进行处理。此处针对大多数UTF-8的用户。//英文和数字等substr_replace()函数把字符串的一部分替换为另一个字符串。substr_replace(string,replace…

    2022年5月10日
    37
  • web服务基础及web服务器搭建过程「建议收藏」

    web服务基础及web服务器搭建过程「建议收藏」当我们打开一个浏览器输入一个网站时,它会先找缓存再找hosts文件,如果缓存和hosts文件有相对应的地址的时候,就会直接拿到IP地址,(在互联网上计算机与计算机通信用的是IP,但IP地址太难记住为了方便我们人浏览网站就采用了字符串注入了域名的方式所以我们在打开网站输入地址的时候它首先就会做一个域名的解析工作)DNS架构:从后往前看…

    2022年5月8日
    54
  • AutoEventWireup介绍

    AutoEventWireup介绍       ASP.NET页会引发诸如Init、Load、PreRender等生命周期事件。默认情况下,可以使用Page_事件名称的命名约定将页事件绑定到方法。例如,若要为页的Load事件创建处理程序,可以创建名为Page_Load的方法。编译时,ASP.NET将查找基于此命名约定的方法,并自动执行事件与方法之间的绑定。可以对Page类公开的任何事件使用Page

    2022年5月8日
    35
  • Pytest(11)allure报告[通俗易懂]

    Pytest(11)allure报告[通俗易懂]前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月31日
    4
  • java中数组的最大下标是_c语言中数组下标从几开始

    java中数组的最大下标是_c语言中数组下标从几开始packagepractice;publicclassExtremeValueAndIndex{ publicstaticvoidmain(String[]args){ intnumberArr[]={7,3,5,1,8,4}; intmax=numberArr[0],min=numberArr[0]; intmaxIndex=0,minIndex=0; for(inti=1;i<numberArr.

    2022年10月11日
    0
  • k8s pod控制器_k8s多人用吗

    k8s pod控制器_k8s多人用吗k8sPod控制器的介绍ReplicaSet(RS)Deployment(Deploy)扩缩容镜像更新版本回退金丝雀发布Horizontal Pod Autoscaler(HPA)DaemonSet(DS)JobCronJob(CJ)StatefulSet(有状态)StatefulSet的金丝雀发布k8s的Pod控制器详解主要介绍各种Pod控制器的详细使用。Pod控制器的介绍在kubernetes中,按照Pod的创建方式可以将其分为两类:自主式Pod:kubernetes直接创建出来的Pod,这

    2022年8月9日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号