首页 > 其他分享 >集群分发xsync xcall 脚本命令

集群分发xsync xcall 脚本命令

时间:2022-11-20 10:45:01浏览次数:40  
标签:test1 分发 test2 xsync pdir xcall echo host ssh

 

建立hosts 白名单

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.7.61  test1
192.168.7.62  test2
192.168.7.63  test3

 

在test1 机器上,生成ssh公钥私钥

ssh-keygen

一路空格后,产生的文件在 /root/.ssh/下

将公钥考到客户机的指定目录/.ssh/ 下,并改名authorized_keys,依次做各个客户机

cd /root/.ssh
scp id_rsa.pub root@test2:/root/.ssh/authorized_keys

对于本机,用 ssh-copy-id test1 来生成本机的免密登录

 ssh-copy-id test1

之后,测试 ssh test2  不用输密码,就可以了。

 

安装 rsync,各个客户机都要装。

yum install -y rsync

编写xsync脚本在 /sbin/目录下,注意改机器名字,后加777 权限

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
# 也可以采用:
# for host in test{1.2. ..4};
for host in test1 test2 test3
do
    echo ====================    $host    ====================
    #3. 遍历所有目录,挨个发送
    for file in $@
    do
        #4 判断文件是否存在
        if [ -e $file ]
        then
            #5. 获取父目录
            pdir=$(cd -P $(dirname $file); pwd)
            echo pdir=$pdir
            
            #6. 获取当前文件的名称
            fname=$(basename $file)
            echo fname=$fname
            
            #7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
            ssh $host "mkdir -p $pdir"
            
            #8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
            rsync -av $pdir/$fname $USER@$host:$pdir
        else
            echo $file does not exists!
        fi
    done
done

 

在 sbin目录下编写 xcall脚本,注意改机器名字,后加777 权限

 

#!/bin/bash
 
for host in test1 test2 test3
do
        echo =============== $host ===============
        ssh $host jps 
done
 

 

标签:test1,分发,test2,xsync,pdir,xcall,echo,host,ssh
From: https://www.cnblogs.com/sdgtxuyong/p/16907986.html

相关文章

  • Applied Cryptography——密钥分发(Key Distribution)
    密钥分发(KeyDistribution)密钥分发(KeyDistribution)Solution#0PairwiseSharedKeysSolution#0BUseaTrustedThirdPartySolution#1Merkle’sPuzzleDiffie-He......
  • 【推荐实践】阿里文娱面向用户增长的信息流分发机制
    今天给大家带来阿里文娱-人工智能部-信息流推荐的天师所做的分享《阿里文娱面向用户增长的信息流分发机制》,关注推荐算法、信息流分发、用户增长的伙伴们别错过啦!(到小程序:......
  • Nginx分发器部署keepalived
    安装keepalvied[root@nginx01~]#dnfinstallkeepalived-ykeepalived配置文件说明[root@nginx01~]#vim/etc/keepalived/keepalived.conf!ConfigurationFilefo......
  • Nginx基于请求头的分发
    前面介绍的分发方式适用于单个集群,而基于请求头分发适用于多个集群场景。基于请求头的分发1、基于host分发:适用于一个公司有多个网站,一个网站设置为一个集群#nginx分发......
  • Nginx分发算法实现
    1、基于轮询分发:根据请求流量均匀分发到后端服务器upstreamweb{serverserver1;serverserver2;}server{listen80;server_namelocalhost;......
  • Nginx分发算法介绍
    分发算法:如何将用户请求按照一定的规律分发给业务服务器。主要分为Nginx集群默认算法和基于请求头分发算法。nginx的upstream目前支持4种方式的分配:1)轮询(默认)  每......
  • Nginx配置分发器
    本文章以nginx作为分发器,httpd作为后端服务器,nginx负责将请求流量分发到httpd节点。1、执行nginx安装脚本(往期文章有)shnginx_install2、切换到nginx配置文件目录cd......
  • 用 Gearman 分发 PHP 应用程序的工作负载
    尽管一个Web应用程序的大部分内容都与表示有关,但它的价值与竞争优势却可能体现在若干专有服务或算法方面。如果这类处理过于复杂或拖沓,最好是进行异步执行,以免Web服务......
  • go-npm 基于npm 进行跨平台分发golang 二进制程序
    一个不错的工具,对于基于npm分发golang二进制文件的是一个不错的工具,很值得使用比如gomplate就基于了此工具参考资料https://www.npmjs.com/package/go-npmhttps://git......
  • luffy项目路由分发
    1.总路由路由分发比较简单fromdjango.urlsimportinclude就需要调用include然后在后面加路由地址就ok,前面和普通路由写法一样path('API/V1/home/',include('home.......