1、xcall.sh 批量命令腳本,例:xcall.sh jps ,查看hadoop101~ hadoop104的jps進程 2、xsync.sh 集群同步文件,分發文件腳本,例:xsync.sh /usr/loacl/test.sh,在hadoop101~hadoop104上的/usr/local ...
1、xcall.sh 批量命令腳本,例:xcall.sh jps ,查看hadoop101~ hadoop104的jps進程
#!/bin/bash #命令參數 params=$@ for((i=101;i<105;i=$i+1))do echo ====== hadoop$i $params ====== ssh hadoop$i $params done
2、xsync.sh 集群同步文件,分發文件腳本,例:xsync.sh /usr/loacl/test.sh,在hadoop101~hadoop104上的/usr/local/下同步分發test.sh
#!/bin/bash path=$1 #判斷是否有參數,若無參數 if [ $# -lt 1 ] then #提示無路徑,沒有參數 echo "no path" #退出 exit fi #得到當前文件名 filename=`basename $path` #echo $filename #得到文件路徑,為防止用的相對路徑,所以先cd 當前文件路徑,然後pwd -P 獲得絕對路徑 dir=`dirname $path` cd $dir fullpath=`pwd -P` #echo $fullpath #得到當前用戶 username=`whoami` #i可以當作主機名的尾碼 for ((i=101;i<105;i=$i+1)) do #進行分發命令,後面的主機名根據自己改 rsync -rvl $fullpath/$filename $username@hadoop$i:$fullpath echo "--hadoop$i........SUCCESS" done echo "--SUCCESS"