在配置集群内的配置文件或者软件时,使用以下这个shell脚本时,会发现特别简单,代码和使用方法如下:
前提
需要将配置好的机器准备好与其他机器的免密登录。
免密登录步骤如下:
- 输入
ssh-keygen
获取公钥和私钥 - 输入
ssh-copy-id [ip地址]
将公钥拷给其他机器 - 输入该机器的密码就可以了。
- 可以用ssh [hosts内的机器名] 测试是否登录需要密码。
脚本代码
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1 fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=2; host<4; host++)); do
#echo $pdir/$fname $user@hadoop$host:$pdir echo --------------- hadoop$host ----------------
rsync -rvl $pdir/$fname $user@hadoop0$host:$pdir
done
操作
-
创建文件。在/usr/local/bin下创建文件名,我创建的是xsync。
-
赋权限。chmod 777 xsync。
-
将代码复制到文件中。
-
使用时,只要输入 xsync [文件名] ,就可以将文件同步到其他机器中。
summed up by JiaMingcan 转载请署名:JiaMingcan