linux 分發同步腳本與分發命令腳本
阿新 • • 發佈:2018-08-19
絕對路徑 入參 路徑 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 分發同步腳本與分發命令腳本