1. 程式人生 > >linux 分發同步腳本與分發命令腳本

linux 分發同步腳本與分發命令腳本

絕對路徑 入參 路徑 user echo 分發 code 用戶名 oop

同步腳本,在第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下就可以全局範圍執行了

linux 分發同步腳本與分發命令腳本