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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM