1、xcall.sh  批量命令脚本,例:xcall.sh jps ,查看hadoop101~ hadoop104的jps进程

  注意:在执行命令的时候,若是提示没有这个命令,但是在本机又可以执行,记得在/usr/local/bin 下面创建一个符号连接指向那个命令所在目录。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
#!/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"

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄