1. 程式人生 > >一個簡單的同步叢集的shell指令碼

一個簡單的同步叢集的shell指令碼

編寫一個xsync檔案    

然後放在/usr/local/bin 目錄下面

xsync檔案如下:

#!/bin/bash
#1 獲取輸入引數個數,如果沒有引數,直接退出
pcount=$# 
if((pcount==0));then 
echo no args;
exit; 
fi

#2 獲取檔名稱
p1=$1 fname=`basename $p1` 
echo fname=$fname

#3 獲取上級目錄到絕對路徑
pdir=`cd -P $(dirname $p1); pwd` 
echo pdir=$pdir

#4 獲取當前使用者名稱稱
user=`whoami`
#5 迴圈
for((host=2; host<4; host++)); do
#echo $pdir/$fname 
[email protected]
$host:$pdir echo --------------- hadoop$host ---------------- rsync -rvl $pdir/$fname [email protected]$host:$pdir done