服务器端配置:
安装完之后必须把服务开启,在服务里找到rsyncserver服务,要计划执行的话最好自动启动该服务。找到服务器端安装路径下的rsyucd.conf,配置如下:
use chroot = false
hosts allow = *
#连接ip地址
log file =rsyncd.log
#日志文件
pid file =rsyncd.pid
#命令文件
strict nodes =false
#允许列节点
[test] #连接名称,可以通过多个别名同步多个目录
path = d:/backup
#要同步的目录里
read only = false
hosts allow = *
#允许连接ip
transfer loggin= yes
#使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中
客户端配置
在客户端的安装路径下找到cwrsync.cmd,在最后一行加入如下形式的配置命令,如果要把此命令添加进计划执行,先把cwrsync的安装路径bin路径添加到系统变量path里。
rsync -vzrtopg --ignore-errors --force --progress --delete 192.168.13.114::test /cygdrive/d/web
#-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。
– progress是指显示出详细的进度情况,–delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致,192.168.13.114是服务器,test是服务器上开的一个同步目录的一个别名,/cygdrive/d/web是客户端d/web目录,前面要加cygdriver是rsync找路径的表示。一点疑惑:按照上面的配置让客户端计划执行同步,每到计划时间就弹出命令来同步数据,要是同步频率太高,客户端很是困扰,要是把客户端作为服务器端,而把服务器端作为客户端,这样就可以在服务器端弹出命令窗口,客户端就可以默默的按照计划得到同步的数据,这样做了多持尝试,现在服务器端要把数据同步到客户端,而客户端装的是服务器端软件,从软件角度来分客户端和服务器端的话,现在的客户端成了服务器端,服务器端成了客户端,所以客户端的ip要固定,这样服务器端才知道要把数据同步到哪里去,可是反复的几次操作都失败了,最后检查原因时发现,用rsync的telnet命令来找客户端找不到,比如我的ip是192.168.13.101,正常的话在服务器端(装的是客户端软件)进入软件的安装目录在cmd中输入telnet 192.168.13.101 873是成功的(873)是软件运行的端口。我现在只能把原因归结为客户端的Ip应该加入dns解析中。