主页 > 数据库 > 使用cwRsync实现windows下文件定时同步

使用cwRsync实现windows下文件定时同步

使用cwRsync实现windows下文件定时同步(备份)

文件同步工具CwRsync的使用方法及常用命令详解

2.背景:

当前的SCADA架构中,有1台Server,5台FE,还有1台Client。其架构如下图所示:

虽然叫法不同,但是他们的安装文件和配置文件是完全一样的。并且大多数情况下,也建议这些服务器上面的配置文件保持一致,这样只需要维护一个版本的config即可,不需要个性化定义每台服务器上面的config文件。由此也带来了一个新的问题,每当我在一台机器上面修改了配置文件,我还需要在其他6台机器上面做相同的修改,重复劳动非常多。由此产生了部署一套文件同步系统的想法,只需要在一台机器上做修改,其他机器自动定时同步即可。

3.解决方案:

  在网上找到一些文件同步方案,最后决定使用cwRsync这个软件。cwRsync是基于cygwin平台的rsync软件包,支持windows对windows、windows对Linux、Linux对windows高效文件同步。由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包。Cwrsync还集成了OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作。使用 cwRsync 来同步文件后,只需要对一台主服务器进行文件修改,其他镜像服务器可以自动同步,包括文件的更新、删除、重命名等。

cwRsync分为付费版和免费版两种,我们只需要使用免费版即可,在官方网站上面下载cwRsync的客户端版本和服务器版本。

客户端版本:cwRsync 4.0.5 Installer

服务器版本:cwRsyncServer 4.0.5 Installer

4.安装:

  对于cwRsync的安装没有什么好说的,我选择的全部都是默认安装,对于服务器版本的安装,这里再多加一句,在安装过程中会提示要求我们输入Service account以及密码,如果我们不指定的话会使用SvcCWRSYNC这个账户,密码是随机生成的,所以要记住这个密码。但是在我后面的配置中,并没有用到这个Service account。

5.配置:

  cwRsync的架构很简单,有一个Server和多个Client组成。安装server版的cwRsync以后,在服务器上面启动cwRsync服务,然后在客户端上面执行文件同步命令即可实现文件同步功能。如果我们将文件同步命令添加到windows计划任务当中,就可实现定义同步的功能。

5.1服务器端配置

  在cwRsync的安装目录下,可以找到一个rsyncd.conf的配置文件,下面我根据自己实际的业务需求来讲名配置文件的修改方法,在第二节背景中我就已经讲到了,我有1台Server,5台FE,1台Client。我们的SCADA系统安装在这七台机器的相同目录下,都是D:\xxx,然后配置文件目录是D:\xxx\config,我要实现的目标就是:只要我修改Server这台机器的config目录,那么其他六台机器(5台FE和1台Client)就会自动同步相应的配置信息。

  下面我将自己服务器端配置文件贴出来,在配置文件的下端,我们看到[config]标签,这就是我们需要同步的config目录,这里需要注意的就是对于文件目录名称的变更。我们看到配置文件中有一行写着"Remember cygwin naming conventions : c:\work becomes /cygwin/c/work",也就是在windows系统下,目录地址为c:\work的,在我们的配置文件path中,需要修改为/cygwin/c/work。同样的,我们的当前想要同步的目录是D:\xxx\config,那么我就写成path = /cygdrive/d/xxx/config。其他的配置就按照给出的模板来配置即可。

 

use chroot = false strict modes = false hosts allow = * log file = rsyncd.log pid file = rsyncd.pid port = 8173 #默认端口8173 uid = 0 #不指定uid,不加这一行将无法使用任何账户 gid = 0 #不指定gid max connections = 10 #最大连接数10 # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # [config] path = /cygdrive/d/xxx/config #表示文件目录 read only = false transfer logging = yes lock file = rsyncd.lock #auth users = service-scada #认证用户名 #secrets file = rsync.password #认证用户的用户名和密码存储位置

 

  在配置完毕以后,我们接下来就需要启动cwRsync的服务,我们将此服务设定为自动启动,如下图所示。

  还有,在上面我们指定RsyncServer的端口是8173,我们可以通过netstat -an这个命令来检查8173端口是否被监听,如下图所示。

5.2客户端配置

在安装完cwRsync的客户端以后,我们看到默认的安装目录是C:\Program Files\cwRsync,我们记下这个安装目录,后面会用到这个安装目录。

在客户端上新建一个记事本,在记事本中输入以下信息:

1 c: 2 cd C:\Program Files\cwRsync\bin 3 rsync -av rsync://10.138.16.54:8173/config /cygdrive/d/xxx/config

提取码请登录后查看!
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!