例如:循环复制文件到所有节点的相同目录下:
首先在centos01中的xiximayou用户下的/home目录下新建一个bin文件夹,在bin文件夹中新建xsync.sh文件,在里面输入:
!/bin/bash #获取输入参数个数,如果没有参数,就直接输出 pcount=$# if((pcount==0));then echo no args; exit; fi #获取文件名称 p1=$1 fname=`basename $p1` echo fname=$fname #获取上级目录的绝对路径 pdir=`cd -P $(dirname $p1);pwd` echo pdir=$pdir #获取当前用户名称 user=`whoami` #循环 for((host=02;host<03;host++));do echo --------------hadoop0$host------------- rsync -rvl $pdir/$fname $user@hadoop0$host:$pdir done
然后在退出bin目录,输入xsync.sh bin/
由于我目前只有另一个虚拟机centos02,所以只会分发给它。
之后我们进入到centos02虚拟机中查看:
文件成功传过来了。
借此脚本,就可以实现一次性给不同虚拟机发送文件了。