这算是个老问题了,每次在windows主机上通过cwrsync向服务端同步数据的时候都会遇到,这次总结记录下吧。错误代码为:

1password file must be owned by root when running as root

在linux上设置rsync的时候,需要将passwordfile设置为600权限。所以在windows上我们也可以用其自带的chmod.exe 执行,其cwrsync客户端默认安装的位置是C:Program FilescwRsyncbin ,具体做法如下:

1“C:Program FilescwRsyncbin”  600 /cygdrive/c/etc/password.txt

执行完以后,如果还有错误提示,可以使用chown.exe命令将其文件的属主做下更改。具体操作如下:

服务端:

1chmod.exe -c 600 /cygdrive/c/etc/password.txt
2chown.exe SvcCWRSYNC /cygdrive/c/etc/password.txt

SvcCWRSYNC为windows上的cwrsync-server安装时默认新建的一个用户。

客户端:

1chmod.exe -c 600 /cygdrive/c/etc/password.txt
2chown.exe administrator /cygdrive/c/etc/password.txt

默认客户端上没有chown.exe这个命令,直接从cwrsync-server的安装路径里拷贝一个过来就可以用了。windows的默认用户一般都是administrator,如果你不是以administrator登录的,请将上面命令中的administrator改成你当前使用的用户名。