配置Windows server 2008文件同步[转]

摘要:
我们现在将使用cwRsync在Windows Server 2008下实现文件同步。将RsyncServer的启动模式设置为自动,然后启动服务。

众所周知,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,可自行设置用户名和密码。

配置Windows server 2008文件同步[转]第1张

2. 修改RsyncServer的配置文件(C:Program Files (x86)ICW syncd.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. [test] 
  14. path = /cygdrive/f/xuad  #需要同步的路径(F:xuad目录) 
  15. read only = false  #只读权限 
  16. transfer logging = yes  #记录传输日志 
  17. ignore errors  #忽略无关的IO错误 
  18. list = no  #不列文件表 
  19. hosts allow = 192.168.0.132/255.255.255.0  #允许访问的IP地址 
  20. hosts deny = *  #不允许hosts allow以外的任何IP访问 

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

配置Windows server 2008文件同步[转]第2张

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

配置Windows server 2008文件同步[转]第3张

配置Windows server 2008文件同步[转]第4张

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

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

2. 手动测试同步

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

配置Windows server 2008文件同步[转]第5张

参数说明

-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: synclog sync.log" 
  3. set nowtime=%date:~0,10% %time% 
  4. echo %nowtime% >> %rsynclog% 
  5. cd /d C:"Program Files"cwRsyncin 
  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分钟同步一次)

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

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

配置Windows server 2008文件同步[转]第6张

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

配置Windows server 2008文件同步[转]第7张

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

配置Windows server 2008文件同步[转]第8张

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

配置Windows server 2008文件同步[转]第9张

四、测试中出现的错误

1. 命令输入错误

配置Windows server 2008文件同步[转]第10张

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

配置Windows server 2008文件同步[转]第11张

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

配置Windows server 2008文件同步[转]第12张

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

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

免责声明:文章转载自《配置Windows server 2008文件同步[转]》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nginx实战三DevExpress 控件汉化代码和使用方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

ftp命令

ftp命令是标准文件传输协议的用户界面。Ftp是在TCP/IP网络上的计算机之间传输文件的一种简单有效的方法。它允许用户传输ASCII文件和二进制文件。用户可以在目录中上下移动,列出目录内容,将文件从远程计算机复制到本地计算机,并将文件从本地计算机传输到远程系统。它用于确定用户可以对要传输的文件进行何种访问。用户显然需要知道进行ftp会话的计算机的名称或IP...

Windows Server 2008 R2 备份与恢复详细实例

Windows ftp服务可以在百度内置,非常简单。)1.首先安装windows server 2008R2的备份功能。查找Windows的“服务器管理器”。下图显示了我的服务器的情况。双击它。备份完成后,我们卸载qq并删除磁盘F的数据。Linux服务器在没有密码的情况下构建Samba登录,并使用yum进行安装。...

聚合初始化

从当前C++标准库中提取,提供了两个容器来表示数组的概念:array表示静态数组,vector表示动态数组。这两种类型都可以使用列表初始化进行初始化。std::array={1,2,3,4,5};std::vector<int>={1,2,3,4,5};这实际上是聚合初始化。聚合初始化历史悠久,在C语言中就已经存在。intarray[5]={1,2,3,4,...

JavaMail给QQ邮箱发邮件报错

org.springframework.mail.MailAuthenticationException:身份验证失败;nestedexceptionisjavax.mail.AuthenticationFailedException:535错误:http://service.mail.qq.com/cgi-bin/help?subtype=1&&a...

pycharm最新版本激活码(永久有效) python安装教程

输入python以查看当前版本的python。您可以输入“print'helloworld”并单击下载以启动PyCharm://pan.baidu.com//1eVdm4dUPKn3ZY_Xj kqNXw提取代码:l83f2,下载破解补丁(版本2018.3.5)下载链接至地址:...

ubuntu死机怎么办

在使用ubuntu时,如果由于各种复杂因素导致系统崩溃,例如软件不兼容和误操作,我们该怎么办?让我们看看如何解决这个问题……您可以打开终端模拟器1 ctrl+alt+t,看看是否可以调出终端模拟窗口2并进入终端模拟窗口。您可以$top(ctrl+c退出top)查看最近使用的应用程序。您可以通过$sudokillpid结束可能导致“崩溃”的软件进程。等一下,看...