我正在执行 rsync /local/path/to/src user1@remote:/path/to/dest。dest 属于 user2@remote。如何在同步后阻止 rsync 将 dest 更改为 user1?
请注意,我已经尝试过谷歌搜索,但建议的开关没有帮助,阅读手册页也没有给我任何想法。所以我非常感谢您的理解。
答案1
--no-owner
可能会或可能不会执行您想要的操作,具体取决于是否dest
存在或需要更新。这是 的否定版本--owner
,由 描述手册页作为:
此选项使 rsync 将目标文件的所有者设置为与源文件相同,但前提是接收 rsync 以超级用户身份运行(另请参阅
--super
和--fake-super
选项)。如果没有此选项,则新文件和/或传输文件的所有者将设置为接收端的调用用户。
我不确定如果目录中的任何内容发生变化,该目录是否算作“已传输”。据我所知,没有办法告诉 rsyncchown
根本不更新文件。
答案2
不要将--owner
标志传递给您的调用rsync
。请注意,这--owner
是暗示的--all
,因此如果您使用该选项,则需要指定--no-owner
以关闭该行为。