使用rsync同步Linux数据到Windows

时间:2022-03-26 05:20:29

windows: win7,cwrsyncserver 4.1.0

linux:ubuntu 14.04,rsync 3.1.0

networks:使用360wifi

【Windows端】

是否使用管理员登录没有关系

1. 安装cwrsyncserver,用户名任意,这里使用的是apache

2. 修改rsyncd.conf配置文件

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
uid = 0  #要加上这两行,否则会出现@ERROR:invalid uid nobody错误
gid = 0  #要加上这两行

[www]
path = /cygdrive/d/rsync/www
ignore errors
read only = no
list = no
host allow = 172.24.202.0/255.255.0.0
auth users = rsync
secrets file = rsyncd.password
transfer logging = yes

3. 创建rsyncd.password文件,放入软件安装目录

rsync:password  用户名:密码

4. 把C:\Program Files (x86)\ICW加入系统环境变量path,没必要设置这一步

设置rsyncd.password文件的权限,chmod 600 rsyncd.password  但是似乎设置无效,而且也没有必要设置

5. 创建d:/rsync/www文件夹,属性->安全,添加rsync用户,并赋予全部权限

6. 关闭windows防火墙

【Linux端】

1. 创建目录/home/user/rsync

2. 创建目录/home/user/rsync/www

3. 创建文件rsyncd.password

password  注意这里只有密码,否则cwrsyncserver会出现password mismatch错误

rsync:password  两种形式可以都试一下,有的系统要求第一种,有的系统两种都可以

4. 设置文件rsyncd.password权限

chmod 600 rsyncd.password  #否则会出现@ERROR:password file must not be other-accessible错误

5. telnet 172.24.202.1 873,测试是否能连到windows的rsync服务器

6. rsync -avz www/ rsync@172.24.202.1::www --password-file=rsyncd.password

Linux端:@ERROR:auth failed on module www

Windows端:missing secret for user "rsync"

低级错误,一般是配置文件中secrets file部分和secret文件名不匹配,或者密码错误

参考:

http://www.ilanni.com/?p=8646

http://willvvv.iteye.com/blog/1480390