#!/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=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl pdir/pdir/pdir/fname user@hadoopuser@hadoopuser@hadoophost:$pdir
done
该脚本主要实现了一个功能:检查输入参数,获取文件名和上级目录的绝对路径,获取当前用户名,然后使用rsync命令在103至105之间的Hadoop主机上循环同步指定文件。
3万+

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



