hadoop_批量命令脚本&同步文件脚本

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"

猜你喜欢

转载自www.cnblogs.com/dongxiucai/p/9650157.html