众所周知,Linux系统可以用rsync来实现文件或目录的同步,windows系统下也一样可以。我们现在就用cwRsync来实现windows server 2008系统下的文件同步。

一、系统环境
操作系统:Windows server 2008 R2
更新源服务器:192.168.0.108
目的服务器:192.168.0.132
服务端:cwRsyncServer_4.1.0_Installer
客户端:cwRsync_4.1.0_Installer
二、更新源服务器安装配置(cwRsync服务端)
1. 双击cwRsyncServer_4.1.0_Installer.exe打开安装界面,然后就一路下一步,安装cwRsync服务端默认有一个管理员帐户SvcCWRSYN,可自行设置用户名和密码。

2. 修改RsyncServer的配置文件(C:\Program Files (x86)\ICW\rsyncd.conf)

  1. use chroot = false  #不使用chroot
  2. strict modes = false  #静态模式
  3. hosts allow = *  #配置全局哪些IP可以访问
  4. log file = rsyncd.log  #log文件名,可以指定路径
  5. pid file = rsyncd.pid
  6. port = 8173  #默认端口873
  7. uid = 0  #不指定uid,不加这一行将无法使用任何账户
  8. gid = 0  #不指定gid
  9. max connections = 10  #最大连接数10
  10. lock file = rsyncd.lock
  11. # Module definitions
  12. # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
  13. #
  14. [test]
  15. path = /cygdrive/f/xuad  #需要同步的路径(F:\xuad目录)
  16. read only = false  #只读权限
  17. transfer logging = yes  #记录传输日志
  18. ignore errors  #忽略无关的IO错误
  19. list = no  #不列文件表
  20. hosts allow = 192.168.0.132/255.255.255.0  #允许访问的IP地址
  21. hosts deny = *  #不允许hosts allow以外的任何IP访问

3. 安装完成后,在“服务”里面就可以看到cwRsync对应的服务了,安装完成后需要手动启动该服务。将RsyncServer的启动方式设置成自动,然后启动该服务。注:针对需要同步的目录,别忘记给SvcCWRSYNC用户读取的权限。

4. 用netstat –anp tcp查看8173端口是否已监听,在客户端服务器telnet 192.168.0.108 8173看端口是否已通。

三、目的服务器安装配置(cwRsync客户端)

1. 双击cwRsync_4.1.0_Installer.exe打开安装界面,然后一路下一步,直到安装完成。

2. 手动测试同步

在路径C:\Program Files\cwRsync\bin下输入rsync.exe -avzP --progress –delete rsync://192.168.0.108:8173/test /cygdrive/f/xuad,出现如下图信息说明同步成功。

参数说明

-a 参数,相当于-rlptgoD,

-r 是递归

-l 是链接文件,意思是拷贝链接文件;

-p 表示保持文件原有权限;

-t 保持文件原有时间;

-g 保持文件原有用户组;

-o 保持文件原有属主;

-D 相当于块设备文件;

-z 传输时压缩;

-P 传输进度;

-v verbose,详细模式输出;

-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步;

--progress 显示备份过程;

--delete 删除那些DST中SRC没有的文件,用作同步文件用;

3.定时自动更新配置

(1)编写rsync.bat批处理脚本

  1. @echo off
  2. set rsynclog="C:\rsynclog\rsync.log"
  3. set nowtime=%date:~0,10% %time%
  4. echo %nowtime% >> %rsynclog%
  5. cd /d C:\"Program Files"\cwRsync\bin
  6. rsync.exe -avzPu --progress --delete rsync://192.168.0.108:8173/test /cygdrive/c/xuad >> %rsynclog%
  7. @echo -------------------------------------------------- >> %rsynclog%
  8. @echo. >> %rsynclog%

(2)设置计划任务(每5分钟同步一次)

开始-管理工具-任务计划程序

右击“任务计划程序本地”,打开创建任务界面。输入姓名(任务名称),选择启动任务的帐户,选中“不管用户是否登录都要运行”。

点击“触发器”-“新建”,打开新建触发器界面。按下图进行设置,每5分钟同步一次。

点击“操作”-“新建”,打开新建操作界面。按下图进行设置,选择之前编辑好的bat脚本,然后“确定”。

“条件”和“设置”均使用默认设置,然后“确定”,输入运行此任务的用户帐户的密码,点击“确定”,创建任务计划完成。

四、测试中出现的错误

1. 命令输入错误

红框标记出来的地方应该是rsyncd.conf文件里的模块名,而不是同步目录名。
2.防火墙阻止了此端口

需要在防火墙的入站规则里添加一条允许此端口的规则。

五、重要说明
    对于多台服务器做文件同步,最好是连同数据备份一起做了。举个例子:有A、B、C、D四台服务器,需要保证四台服务器一个或多个目录的数据一致性,也就是 BCD需要从A上同步一个或多个目录的数据,那么A就是更新源服务器,BCD就是目的服务器。现在有个问题,当A的数据出现问题或丢失,那么BCD三台的 数据都会出现问题并且丢失,为了保证A的数据一定是正确的,我们在更新A服务器之前,就要先对A做数据备份。下面是个简单的bat脚本,可以实现数据的自 动备份并上传至FTP服务器,可以把它加入到任务计划里面定期执行它。
Backup.bat脚本内容如下:
  1. @echo off
  2. set today=%date:~0,10%
  3. set nowh=%time:~0,2%
  4. set nowtime=%date:~0,10% %time%
  5. set rar="c:\Program Files\WinRAR\rar.exe"
  6. set ftplist="E:\baklog\ftpls.txt"
  7. set baklog="E:\baklog\backup.log"
  8. set FtpSrv=192.168.0.109
  9. set FtpPort=21
  10. set FtpUser=bak
  11. set FtpPwd=bak1q2w3e
  12. echo %nowtime% >> %baklog%
  13. ::Rar files
  14. %rar% a E:\backup\backup_%today%_%nowh%.rar F:\xuad >> %baklog%
  15. ::Upload files by ftp
  16. echo open %FtpSrv% %FtpPort% > %ftplist%
  17. echo user %FtpUser% %FtpPwd% >> %ftplist%
  18. echo cd backup >>%ftplist%
  19. echo bin >> %ftplist%
  20. echo prompt >> %ftplist%
  21. echo lcd E:\backup  >>%ftplist%
  22. echo Put backup_%today%_%nowh%.rar >> %ftplist%
  23. echo quit   >> %ftplist%
  24. echo bye    >> %ftplist%
  25. ftp -n -s:%ftplist% >> %baklog%
  26. echo. > %rarlist%
  27. @echo -------------------------------------------------- >> %baklog%
  28. @echo. >> %baklog%
参考文献:
http://kerry.blog.51cto.com/172631/753232
特此感谢这位作者,谢谢!

本文出自 “风中流浪” 博客,请务必保留此出处http://andyxu.blog.51cto.com/2050315/994772

配置Windows server 2008文件同步[转]的更多相关文章

  1. Windows Server 2008文件同步

    配置Windows Server 2008文件同步   摘要: 众所周知,Linux系统可以用rsync来实现文件或目录的同步,windows系统下也一样可以.我们现在就用cwRsync来实现wind ...

  2. 配置Windows Server 2008 允许多用户远程桌面连接

    开启远程桌面后,远程访问windows server 2008服务器时,默认只支持一个用户名同时只能创建一个远程连接,新建连接登录后会将前一个就踢掉,有没有办法像windows server 2005 ...

  3. 配置Windows Server 2008/2012/2016允许2个用户同时远程桌面

    Windows Server 系列服务器默认情况下只能支持一个用户远程,如果第二个人远程上去之后会直接把前面一个登录用户踢掉.在日常工作中如果有多个人需要同时远程过去工作,会很不方面. 网上很多教程讲 ...

  4. 配置Windows Server 2008环境

    上一章已经把Windows Server2008操作系统安装完毕,接下来配置一下Windows Server环境.配置网络和共享中心.配置桌面环境.配置用户IE设置.安装Telnet远程工具.配置文件 ...

  5. Windows Server 2008关闭internet explorer增强的安全配置

    服务器系统要求很高的安全性,所以微软给ie添加了安全增强.这就使得ie在Internet区域的安全级别一直是最高的,而且无法进行整体调整. 关闭IE SEC服务器系统要求很高的安全性,所以微软给ie添 ...

  6. VMware 12 安装 Windows server 2008 系统

    一.准备工作 安装了VMware 12 的PC 准备windows  server 2008 的ISO操作系统文件 官网地址:https://www.microsoft.com/en-us/downl ...

  7. windows server 2008 R2 Enterprise 间实时同步之FreeFileSync 部署过程

    WindowsServer间实时同步之FreeFileSync 部署过程 1. 实验主机信息 IP 操作系统 源目录 目标目录 10.155.0.80 Windows Server 2008 R2 D ...

  8. 【定时任务|开机启动】Windows Server 2008/2012 计划任务配置(任务计划程序)每分钟执行BAT

    打开计划任务快捷方式(在 “管理工具”内): C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Tas ...

  9. 使用LVS实现负载平衡之Windows Server 2008配置

    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.承载于 II ...

随机推荐

  1. App优化 StrictMode 严格模式

    StrictMode简介 StrictMode最常用来捕捉应用程序的主线程,它将报告与线程及虚拟机相关的策略违例.一旦检测到策略违例policy violation,你将获得警告,其包含了一个栈tra ...

  2. UML解惑:图说UML中的六大关系

    UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑.这里给出这六种主要UML关系的说明和类图描述, ...

  3. Hash索引与B-Tree索引

    Hash索引 Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要 ...

  4. svmtrain princomp 出现的问题

    错误一: >> modelw = svmstrain(wine_label,wine_data); Undefined function 'svmstrain' for input arg ...

  5. Python开发接水果小游戏

    我研发的Python游戏引擎Pylash已经更新到1.4了.如今我们就来使用它完毕一个极其简单的小游戏:接水果. 下面是游戏截图: 游戏操作说明:点击屏幕左右两边或者使用键盘方向键控制人物移动.使人物 ...

  6. [android错误] requires API level *

    Call requires API level (current min ): android.content.res.Resources#getBoolean 参考文档: http://stacko ...

  7. iOS中ActionSheet和Alert的区别

    首先,样子长得就不一样 看下图:

  8. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  9. Camera 预览变形问题解决

    最近开发一款自定义相机采集照片的demo,花了一个上午开发了一个在测试机上功能正常的apk连同测试机一起交付(需求方反馈没有Android设备),然而晚上被喊去说是在华为畅玩某型号上预览会变形,拍到的 ...

  10. HDOJ 4686 Arc of Dream 矩阵高速幂

    矩阵高速幂: 依据关系够建矩阵 , 高速幂解决. Arc of Dream Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65535/ ...