Rsync:仅保留文件和子目录上的元数据(时间、组等),而不是根目录

Rsync:仅保留文件和子目录上的元数据(时间、组等),而不是根目录

我正在使用 rsync 将一些文件(隐藏文件除外)从一个地方复制到另一个地方,使用以下命令:

rsync -Cav --delete --exclude=.* /Some/Directory/ other-host:/Other/Directory

一切运行良好,但我收到以下错误:

rsync:chgrp“/Other/Directory/。”失败:操作不允许 (1)
rsync:无法在“/Other/Directory/。”上设置时间:权限被拒绝 (13)

这是可以理解的,因为我确实没有这些权限,而且我也不想更改该目录的组。我只想对所有属于以下组的文件和目录执行此操作:该目录。有什么办法可以解决这个问题吗?尝试了--exclude=.--exclude=./,但都没有用。

有什么想法吗?我不知道如何解决这个问题...


更多细节:这是在 Mac OS X 上,我正在同步的目录是从本地安装的卷到/Users/Shared/另一台主机上的目录。该目录有用户和组车轮. 里面的文件有用户行政和组职员本地源目录也是如此。


临时解决方案:仍然很好奇如何解决这个问题,但由于我还不知道该怎么做,所以我通过使用不同于/Users/Shared这些文件的目录来“解决”这个问题。

答案1

如果您知道other-host:/Other/Directory已经存在,您可以尝试:

rsync -Cav --delete --exclude=.* /Some/Directory/* other-host:/Other/Directory/

那么它不应该尝试对根目录执行任何操作,除了在根目录中创建文件/目录之外。

相关内容