标题已经说明了问题。
我看到可以保留所有者:组,但是在同步完成后更改远程文件的所有者:组是否可能?
或者你可以通过某种方式发送额外的命令吗?
rsync -vzrP --delete ~/Sites/website-name/ root@server.com:/home/website-name/public_html/ | chown website-name:websites-group *
抱歉,我的rsync/bash知识非常有限。
rsync
提供了--usermap
和--groupmap
选项,允许您自定义在远程端如何映射它们。--chown
选项,这是上述选项的快捷方式。/etc/rsyncd.conf
文件,并在相关的rsync文件夹中包含您想要文件获取的uid
和gid
。[hadoop_out]
comment = hadoop_out
path = /mass1/mt_data/hadoop_out
read only = no
list = yes
uid = 26
gid = 26
auth users = postgres
secrets file = /etc/rsyncd.secrets
hosts allow = 10.11.20.61
postgres
的uid
和gid
26
同步并保存,因此您无需在运行命令时提供此信息。
--chown
。 - Jacket--chown
选项只有在你同时设置--owner --group
才能生效。这有点反直觉,因为后面的选项是关于从源保留所有者和组的。此外,--chown
选项的man手册没有提到这一点,也没有发出警告。而--usermap
的部分则提到了这一点。 - user1115652