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


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM