时间:2016-02-26 18:19 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是服务器系列之:【用rsync实现windows与linux文件同步的方法】,下面是详细的分享!
用rsync实现windows与linux文件同步的方法
windows做为文件服务器,使用rsync的windows服务版本:cwRsyncServer 下载地址:http://rsync.samba.org安装过程要设置用于系统服务的帐号和密码,可以默认。
注:此帐号用于启用crsync server服务,需要分配给帐号对要同步文件的相应权限,否则无法操作被同步的文件。
安装完成后修改配置文件 rsyncd.conf, 配置文件内容如下:
代码如下:
port=52326
use chroot=false
strict modes=false
#hosts allow=* #允许所有的访问
hosts allow=192.168.10.2 #指定特定的IP允许访问
log file=rsyncd.log
lock file=rsyncd.lock
max connections=10
UID=0
GID=0
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path=/cygdrive/c/work
read only=false
transfer logging=no
[test2]
path=/cygdrive/d/wwwroot/yanghengfei_com
read only=yes
transfer logging=no
auth users=coldstar #同步使用的帐号
secrets file=rsyncd.secrets #密码文件
注:
rsyncd.secrets配置文件的格式为 用户名:密码,如:
coldstar:123456
即添加了一个用户 coldstar,密码为 123456。
Linux服务器上执行同步命令:
rsync -vzrtopg --progress --delete rsync://coldstar@192.168.10.1:52326/test2 /root/test2
然后在password: 提示符下输入密码即可。
也可以把密码写入配置文件引用,如:
rsync -vzrtopg --progress --delete --password-file=/etc/rsync.pass rsync://coldstar@192.168.10.1:52326/test2 /www/users/yanghengfei_com
将以上命令写入计划任务,每1分钟执行,即可实现实时同步的效果。
注:
上面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。-- progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
附,rsync使用时的常见问题:
错误1: rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(794) [receiver=3.0.2]
解决:很大可能是服务器端没有开启 rsync 服务。开启服务。 或者开启了防火墙指定的端口无法访问。
错误2:@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:服务器端同步目录没有权限,cwrsync默认用户是Svcwrsync。为同步目录添加用户Svcwrsync权限。
错误3:@ERROR: failed to open lock file
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:服务器端配置文件 rsyncd.conf中添加 lock file=rsyncd.lock 即可解决。
错误4:@ERROR: invalid uid nobody
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.2]
解决:在rsyncd.conf文件中添加下面两行即可解决问题
UID=0
GID=0
错误5:@ERROR: auth failed on module test2
rsync error: error starting client-server protocol (code 5) at main.c(1296) [receiver=3.0.2]
解决:服务端没有指定正确的secrets file,请在 [test2]配置段添加如下配置行:
auth users=coldstar #同步使用的帐号
secrets file=rsyncd.secrets #密码文件
错误6:password file must not be other-accessible
解决:客户端的pass文件要求权限为600, chmod 600 /etc/rsync.pass 即可。
以上就是关于用rsync实现windows与linux文件同步的方法的服务器维护教程分享,更多电脑教程请移步到>>电脑教程频道。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
