zoukankan      html  css  js  c++  java
  • xsync 集群同步脚本

    1:修改/etc/hosts文件:添加下面主机

    192.168.3.44 hadoop101
    192.168.3.43 hadoop102
    192.168.3.45 hadoop103

    2:编写xsync文件

    #! /bin/bash
    #1 获取输入参数个数,如果没有参数,直接退出
    pcount=$#
    if [ $pcount -lt 1 ]
    then
        echo No Enough Arguement!
        exit;
    fi
    
    #2. 遍历集群所有机器
    for host in hadoop102 hadoop103
    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 "source /etc/profile;mkdir -p $pdir"
                
                #8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
                rsync -av $pdir/$fname $USER@$host:$pdir
            else
                echo $file Does Not Exists!
            fi
        done
    done

    3: 修改脚本 xsync 具有执行权限

    chmod 777 xsync

    4:运行命令: mv xsync /usr/local/bin  目录下

    5:集群分发测试:

    xsync zookeeper
  • 相关阅读:
    操作系统学习五部曲
    由实模式进入保护模式
    extends && implements
    <mvc:annotation-driven>
    集合类关系
    Servlet8
    SprigMVC基础测试
    (转载)synchronized代码块
    jetty与tomcat
    输入输出流总结
  • 原文地址:https://www.cnblogs.com/kpwong/p/13765658.html
Copyright © 2011-2022 走看看