我正在使用 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/
那么它不应该尝试对根目录执行任何操作,除了在根目录中创建文件/目录之外。