5.【xsync.sh】叢集群發文件指令碼
阿新 • • 發佈:2021-10-17
#! /bin/bash # 1.判斷引數個數 if [ $# -lt 1 ] then echo 'Not Enougth Arugement!' exit; fi # 2.遍歷叢集所有機器 for host in pc001 pc002 pc003 do if [ $HOSTNAME != $host ] then echo "==================$host=====================" # 3.遍歷指定的目錄 for file in $@ do # 4.判斷指定檔案是否存在 if [ -e $file ] then # 4.1 獲取父目錄 pdir=$(cd -P $(dirname $file);pwd) # 4.2 獲取檔名稱 fname=$(basename $file) # 4.3 對目標host建立對應的目錄 ssh $host "mkdir -p $pdir" # rsync同步檔案 rsync -av $pdir/$fname $host:$pdir else echo "The file $file is not exists!" fi done fi done