rsync error: some files/attrs were not transferred (see previous errors)

在搭建hadoop写分发脚本时遇到rsync错误,提示一些文件/属性未能传输。问题源于执行脚本的用户xiaotang尝试分发属于root用户的文件。当在xiaotang用户自己的文件夹下执行脚本时,分发成功。
摘要由CSDN通过智能技术生成

1、问题描述

搭建hadoop写分发脚本,执行时发生rsyn错误

2、分发脚本内容

#!/bin/bash
#1.判断参数个数
if [ $# -lt 1 ]
then
 echo Not Enough Arguement!
 exit;
fi
#2、遍历集群所有的机器
for host in hadoop102 hadoop103 hadoop104
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

3、原因分析

执行分发脚本 ,分发的文件test.txt是在用户root的文件夹opt下的,而执行脚本的用户是xiaotang,这时会发生错误

重新在用户xiaotang的文件夹software下,用户xiaotang执行分发脚本成功

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值