你能在rsync调用期间传递一个chown命令吗?

时间:2014-10-03 01:28:17

标签: rsync owner

标题说明了这一切。

我看到您可以保留所有者:组,但是可以在同步后更改遥控器上所有文件的所有者:组吗?

或者你能以某种方式管道额外的命令吗?

rsync -vzrP --delete ~/Sites/website-name/ root@server.com:/home/website-name/public_html/ | chown website-name:websites-group *

抱歉,我的rsync / bash知识非常有限。

2 个答案:

答案 0 :(得分:7)

是的,rsync提供--usermap--groupmap选项,允许您自定义这些在远程端的映射方式。

对于您的特定用例,所有文件要映射到同一个用户/组组合,您可以使用--chown选项,这是上述的快捷方式。

答案 1 :(得分:1)

除了Chris的回答,您还可以修改/etc/rsyncd.conf,并在相关的rsync文件夹中包含您希望文件获取的uidgid

示例:

[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同步并保存,因此您无需在命令你跑。