转:使用rsync在linux(服务端)与windows(客户端)之间同步

Posted 清明-心若淡定

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转:使用rsync在linux(服务端)与windows(客户端)之间同步相关的知识,希望对你有一定的参考价值。

转自:http://blog.csdn.net/old_imp/article/details/8826396


一 在linux(我用的是centos系统)上安装rsync和xinetd前先查看linux上是否已经安装:
#rpm -qa|grep rsync

#rpm -qa|grep xinetd

若无则安装,或者使用tar编译安装

#rpm -ivh rsync-2.6.8-3.1.rpm

或者

yum install rsync(这是我使用的方法)

yum  install xinetd(这是我使用的方法)


二 打开rsync服务
#chkconfig xinetd on
#chkconfig rsync on

三 在/etc/目录下创建 rsyncd.conf 配置文件(设置成600权限)

port =  873
uid = root
gid = root
use chroot=no
read only = yes
hosts allow=*
max connextions = 4

[www] 
path = /********/****l/****
comment = BACKUP WWW
ignore errors
read noly = yes
list = no
auth users = root
hosts allow = *
secrets file = /etc/rsync.pass(文件名只是举例,包括后缀都可以自定义)
 
配置文件中的参数含义可以参考http://hi.baidu.com/setcookie/item/14f9e8998ad1028858146135
 
四 创建rsync.pass文件(设置成600权限)
,也就是rsync.conf文件中secrets file 指定的路径,输入linux系统中存在的账号密码
账号:密码

 
五 修改etc/xinetd/rsync 文件
把disable = yes 改成 disable = no

六 启动基于xinetd进程的rsync服务

#/etc/init.d/xinetd start

 
七 windows机器上安装cwrsync
 
八 打开 linux上的873端口(rsync默认使用的端口)
 
九 打开cmd 执行同步指令即可同步

h:\cwRsync\bin\rsync.exe -vzrtopgu --progress --delete [email protected]::www /cygdrive/D/test

然后就可以看到输入密码的提示,输入密码就开始同步了。
解释一下:

h:\cwRsync\bin\rsync.exe是rsync.exe的路径

www就是rsync.conf文件中指定的模块名
[email protected]是linux机器用户名,ip

/cygdrive/D/test 的含义是备份到windows本地的D:\test路径,其他路径依葫芦画瓢即可,比如E:\test,写成

/cygdrive/E/test

 
十 windows客户端设置cwRsync自动同步
建立一个.bat文件,编辑输入以下命令内容后保存:
h:\cwRsync\bin\rsync.exe -vzrtopgu --progress --delete [email protected]::www /cygdrive/G/backup --password-file=/cygdrive/D/rsync.pass
接下来按照需要创建windows的任务计划程序,在操作列表中添加启动这个.bat文件的操作。
解释:
password-file=/cygdrive/D/rsync.pass 指定了windows客户端机器上的密码文件位置。
windows客户端上的密码文件格式和linux服务端上的格式不一样,只需要写密码即可。
如果在cmd执行以上命令可以不输入密码,因为程序会自动读取输入的密码文件。
 
十一安全起见有时需要更改rsync使用的端口
1把服务器上需要使用的端口打开
2修改服务器上的rsyncd.conf 配置文件
port = (要使用的端口号)
3本地客户端链接服务器备份的口令也得修改,加入--port=(端口号)
例如:
h:\cwRsync\bin\rsync.exe -vzrtopgu  --port=(端口号) --progress --delete [email protected]::www /cygdrive/G/backup --password-file=/cygdrive/D/rsync.pass
 
十二 如果重启了服务器,客户端备份时出现错误提示Connection refused (111) 的解决办法
完整错误提示:
rsync: failed to connect to 10.10.10.170: Connection refused (111) 
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5] 
解决方法:
服务端启动服务:rsync --daemon --config=/etc/rsyncd.conf

以上是关于转:使用rsync在linux(服务端)与windows(客户端)之间同步的主要内容,如果未能解决你的问题,请参考以下文章

(转)rsync+inotify实时同步

Linux之RSYNC文件同步服务

linux下rsync+inotify实现服务器之间文件实时同步

linux安全---rsync

rsync (windows 服务端,linux客户端)将windows上的数据同步到linux服务器,反之也可

linux上的rsync命令详解