00_批量同步脚本

#!/bin/bash
#作者:gaocun
#脚本说明:将指定文件同步到指定机器中去
#参数说明:指定需要同步的文件(多个文件用空格符分割)

#1.检查脚本参数个数
if [ $# -lt 1 ];then
    echo "脚本参数为0,请重新输入"
    exit 1
fi

#2.指定需要同步的服务器名称
HostNameList=(
hadoop01
hadoop02
hadoop03
)

#3.循环参数,执行rsync命令
arrlen=${#HostNameList[@]}
echo "服务器列表个数:"$arrlen
for(( i=0;i<$arrlen;i++ ))
do
    hostName=${HostNameList[$i]}
    echo $hostName
    for file in $@ 
    do 
        #判断参数文件是否存在
        if [ -e $file ]
            then 
            #获取当前文件的完整路径
            pdir=$(pwd)
            echo $pdir@@@$file
            #执行rsync命令
            rsync -av $pdir/$file $hostName:$pdir
       fi  

    done

 
done

 

posted @ 2021-08-15 23:45  学而不思则罔!  阅读(75)  评论(0)    收藏  举报