1.解释:在家目录下的bin目录下创建一个xsync文件这个文件名随便起,我是在hx账户下创建的集群所以我在/home/hx/bin/目录下创建的xsync文件,若配置ssh免密登录,就可以实现分发文件了
2.脚本如下
#!/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=7; host<9; host++)); do
echo ------------------- spark0$host --------------
rsync -rvl $pdir/$fname $user@spark0$host:$pdir
done
3.将文件权限改成777 具有执行权限
[hx@hadoop102 bin]$ chmod 777 xsync
文件变成绿色就有执行权限了