1. 程式人生 > >Hadoop叢集之shell -----指令碼xcall,和同步指令碼xsync(一)

Hadoop叢集之shell -----指令碼xcall,和同步指令碼xsync(一)

xcall指令碼

#!/bin/bash
[email protected]
i=1
for (( i=1 ; i <= 3 ; i = $i + 1 )) ; do
    echo ============= hadoop0$i $params =============
    ssh hadoop0$i "$params"
done

同步指令碼

#!/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

具體用法見下一篇文章