rsync 但保留目标所有权而不设置为源所有权

rsync 但保留目标所有权而不设置为源所有权

我有一些文件想要同步到 Linux 服务器。唯一的问题是它会将所有权和组重置为当前用户和组。

不幸的是,选项--owner、--group 和--archive 有点不可行,因为源是 Windows 机器。(它的所有权在服务器上没有意义)

有什么方法可以保持目的地所有权不变?

我正在使用的命令(最小示例):

rsync SRC $remote:DEST

答案1

只需使用--inplace选项:

rsync --inplace SRC $remote:DEST

正确地不会改变目标所有权(或权限),无论源是什么。

文档:

- 到位

当文件数据需要更新时,此选项会更改 rsync 传输文件的方式:rsync 不会采用默认方法,即创建文件的新副本并在完成后将其移动到位,而是将更新的数据直接写入目标文件。

[警告:更改正在使用的文件时可能会导致问题]

有关详细信息,请参阅 rsync文档页面

答案2

尝试rsync -azvr something somwhere:/location/

答案3

识别远程端的用户和组。例如用户“user1”和组“user1”。

  1. 在 rsync 命令中添加“--chown user1:user1”

  2. 或者,如果您的 rsync 版本不支持此功能,请在远程运行“chown -R user1:user1 *”,在目标文件树的最高文件夹中,这将以递归方式将所有内容重新归还给 user1。(警告:此语法也会更改当前文件夹中的所有内容)

相关内容