使用rsync同步Linux数据到Windows
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