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
文件变成绿色就有执行权限了
![]()
本文介绍了一个用于在多个远程主机间分发文件的bash脚本。该脚本使用rsync命令进行文件同步,并通过获取文件名、路径等信息来简化分发流程。适用于配置了SSH免密登录的集群环境。
480

被折叠的 条评论
为什么被折叠?



