同步腳本,在第5步要拼接自己配置的主機名
1 #!/bin/bash 2 #1 獲取輸入參數個數,如果沒有參數,直接退出 3 pcount=$# 4 if((pcount==0)); then 5 echo no args; 6 exit; 7 fi 8
9 #2 獲取文件名稱 10 p1=$1
11 fname=$(basename $p1) 12 echo fname=$fname 13
14 #3 獲取上級目錄到絕對路徑 15 pdir=$(cd -P $(dirname $p1); pwd) 16 echo pdir=$pdir 17
18 #4 獲取當前用戶名稱 19 user=$(whoami) 20
21 #5 循環 22 for((host=3; host<5; host++)); do
23 #echo $pdir/$fname $user@hadoop${00}$host:$pdir 24 echo --------------- hadoop00$host ----------------
25 rsync -rvl $pdir/$fname $user@hadoop00$host:$pdir 26 done
命令腳本(注意修改拼接的主機名)
1 #!/bin/bash 2 pcount=$# 3 if((pcount==0));then 4 echo no args; 5 exit; 6 fi 7
8 #echo -------------localhost----------
9 $@ 10 for((host=3; host<=4; host++)); do
11 echo ----------hadoop00$host---------
12 ssh hadoop00$host $@ 13 done
把腳本保存在/usr/local/bin下就可以全局范圍執行了