简单单向同步配置(客户端同步文件到服务端):
服务端:cwRsyncServer_4.1.0_Installer
客户端:cwRsync_4.1.0_Installer
下载地址:http://pan.baidu.com/s/1o65qWjw
因为是多台服务器同步,经测试,仅安装服务端版本即可满足要求。
文件推送方案:A->B->C->A,B作为A的服务端,C作为B的服务端,A作为C的服务端。
安装完毕后,修改配置文件rsyncd.conf:
use chroot = false strict modes = false hosts allow = * log file = rsyncd.log lock file = rsyncd.lock max connection = 5 uid = 0 gid = 0 # Module definitions # windows下磁盘格式需要转换: c:\work 变成 /cygwin/c/work # [rsync] path = /cygdrive/c/files auth users = rsyncd secrets file = /cygdrive/c/rsyncd.secrets read only = false list = no transfer logging = yes
服务端创建密码文件 C:\rsyncd.secrets
rsyncd:123456 #用户名:密码
创建同步目录 C:\files\upload
启动Windows服务:RsyncServer,并修改为自动启动。
若遭遇无法启动的情况,报以下错误:
事件 ID ( 0 )的描述(在资源( rsyncd )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部分: rsyncd: PID 748: uid 4294967295 (-1) is impossible to set on "upload/.2.txt.KO64ZD" (in shouyou).
解决方案:删除安装目录下rsyncd.pid文件;
永久解决方案:添加计划任务,每次重启前删除rsyncd.pid。
查看服务有无启动,默认为873.
netstat -anp tcp
服务端:192.168.128.131,客户端:192.168.128.132
客户端查看服务端端口是否开启:
telnet 192.168.128.131 873
同步方法:可指定到服务端rsync.exe目录C:\Program Files\ICW\bin
rsync -vPrtopg --delete --progress /cygdrive/c/files/upload [email protected]::rsync
--delete:保持删除文件同步
此时会提示用户登录密码
无密码同步方法:
客户端添加密码验证文件 C:\rsyncd_client.secrets
仅添加密码:
123456
重新来执行rsync,现在应该就不会提示输入密码了
rsync -vPrtopg --delete --progress /cygdrive/c/files/upload < c:\rsyncd_client.secrets [email protected]::rsync
最后,加入定时计划备份。
编写rsync.bat批处理脚本
@echo off set rsynclog="C:\Program Files\ICW\rsync.log" set nowtime=%date:~0,10% %time% echo %nowtime% >> %rsynclog% cd /d C:\"Program Files"\ICW\bin rsync -vPrtopg --delete --progress /cygdrive/c/files/upload < c:\rsyncd_client.secrets [email protected]::rsync >> %rsynclog% @echo -------------------------------------------------- >> %rsynclog% @echo. >> %rsynclog%
创建任务