在集群上分发文件
1.在文件/usr/local/bin建一个可执行文件xsync
touch xsync
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 循环 (编号10-80的机器)
for((host=10; host<=80; host++)); do
#echo $pdir/$fname $user@hadoop$host:$pdir
echo --------------- hadoop$host ----------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
3.给这个文件赋予权限
chmod 777 xsync
4 .在机器上执行
//分发文件
xsync t.txt
或者分发整个文件夹
xsync hadoop/