rsync + chmod 多个文件

rsync + chmod 多个文件

我有一个源文件夹

来源/

-rw-------@ 1 user  staff    41B Mar 23 13:59 aws-1
-rw-r--r--  1 user  staff   112B Mar 23 14:36 aws-2
-rw-rw-rw-@ 1 user  staff   2.3K Feb  5 17:15 google

目标文件夹尚不存在。我尝试将 2 个 aws 文件同步到目标文件夹中。这是我的命令:

rsync \
  -avh --chmod=a=rw \
  --include="aws-*" \
  --exclude="*" \
  "source/" "destination/"

我想做的是 rsync 2 个 aws 文件并在目标文件夹中更改它们的权限。运行命令后,出现错误,文件不在目标文件夹中。仅创建文件夹。这是错误:

building file list ... done
created directory /Users/user/destination/aws
./
rsync: recv_generator: failed to stat "/Users/user/destination/aws/aws-1": Permission denied (13)
rsync: recv_generator: failed to stat "/Users/user/destination/aws/aws-2": Permission denied (13)
rsync: recv_generator: mkdir "/Users/user/destination/aws/." failed: Permission denied (13)
*** Skipping everything below this failed directory ***

它说没有复制文件就拒绝许可。我还不明白哪个权限导致问题。我的源文件和目录看起来不错。创建的目标文件夹似乎也很好。

PS:我精确地说我的 rsync 命令发生在 bash 脚本内

答案1

解决办法是使用允许遍历的--chmod=a=rwX地方X

rsync\
--include="aws*" \
--exclude="*" \
-avh --chmod=a=rwX 
source/ destination/

详细答案在阿库本图

相关内容