1 #!/bin/bash 2 #1. 判断参数个数 3 if [ $# -lt 1 ] 4 then 5 echo Not Enough Arguement! 6 exit; 7 fi 8 #2. 遍历集群所有机器 这里注意是你自己的主机名 9 for host in hadoop106 hadoop107 hadoop108 10 do 11 echo ==================== $host ==================== 12 #3. 遍历所有目录,挨个发送 13 for file in $@ 14 do 15 #4. 判断文件是否存在 16 if [ -e $file ] 17 then 18 #5. 获取父目录 19 pdir=$(cd -P $(dirname $file); pwd) 20 #6. 获取当前文件的名称 21 fname=$(basename $file) 22 ssh $host "mkdir -p $pdir" 23 rsync -av $pdir/$fname $host:$pdir 24 else 25 echo $file does not exists! 26 fi 27 done 28 done
#!/bin/bash #1. 判断参数个数 if [ $# -lt 1 ] then echo Not Enough Arguement! exit; fi #2. 遍历集群所有机器 这里注意是你自己的主机名 for host in hadoop106 hadoop107 hadoop108 do echo ==================== $host ==================== #3. 遍历所有目录,挨个发送 for file in $@ do #4. 判断文件是否存在 if [ -e $file ] then #5. 获取父目录 pdir=$(cd -P $(dirname $file); pwd) #6. 获取当前文件的名称 fname=$(basename $file) ssh $host "mkdir -p $pdir" rsync -av $pdir/$fname $host:$pdir else echo $file does not exists! fi done done