我看到您可以保留所有者:组,但是可以在同步后更改遥控器上所有文件的所有者:组吗?
或者你能以某种方式管道额外的命令吗?
rsync -vzrP --delete ~/Sites/website-name/ root@server.com:/home/website-name/public_html/ | chown website-name:websites-group *
抱歉,我的rsync / bash知识非常有限。
答案 0 :(得分:7)
是的,rsync
提供--usermap
和--groupmap
选项,允许您自定义这些在远程端的映射方式。
对于您的特定用例,所有文件要映射到同一个用户/组组合,您可以使用--chown
选项,这是上述的快捷方式。
答案 1 :(得分:1)
除了Chris的回答,您还可以修改/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
这样,文件将与用户uid
的{{1}}和gid
26
同步并保存,因此您无需在命令你跑。