![rsync + chmod 多个文件](https://linux22.com/image/108177/rsync%20%2B%20chmod%20%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6.png)
我有一个源文件夹
来源/
-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/
详细答案在阿库本图