简单单向同步配置(客户端同步文件到服务端): 服务端:cwRsyncServer_4.1.0_Installer
客户端:cwRsync_4.1.0_Installer
因为是多台服务器同步,经测试,仅安装服务端版本即可满足要求。 文件推送方案:A->B->C->A,B作为A的服务端,C作为B的服务端,A作为C的服务端。
安装完毕后,修改配置文件rsyncd.conf:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| 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
创建同步目录 C:\files\upload
启动Windows服务:RsyncServer,并修改为自动启动。
若遭遇无法启动的情况,报以下错误:
1
| 事件 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.
服务端:192.168.128.131,客户端:192.168.128.132
客户端查看服务端端口是否开启: 1
| telnet 192.168.128.131 873
|
同步方法:可指定到服务端rsync.exe目录C:\Program Files\ICW\bin
--delete:保持删除文件同步
此时会提示用户登录密码
无密码同步方法: 客户端添加密码验证文件 C:\rsyncd_client.secrets 仅添加密码:
重新来执行rsync,现在应该就不会提示输入密码了
1
| rsync -vPrtopg --delete --progress /cygdrive/c/files/upload < c:\rsyncd_client.secrets rsyncd@192.168.128.131::rsync
|
最后,加入定时计划备份。 编写rsync.bat批处理脚本 1
2
3
4
5
6
7
8
| @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 rsyncd@192.168.128.136::rsync >> %rsynclog%
@echo -------------------------------------------------- >> %rsynclog%
@echo. >> %rsynclog%
|
创建任务
|