设为首页 收藏本站
查看: 799|回复: 0

[经验分享] 配置Windows server 2008文件同步

[复制链接]

尚未签到

发表于 2018-6-15 10:04:02 | 显示全部楼层 |阅读模式
  众所周知,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,可自行设置用户名和密码。
DSC0000.jpg

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


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

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

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

DSC0003.jpg

  三、目的服务器安装配置(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,出现如下图信息说明同步成功。
DSC0004.jpg

  

  参数说明
  -a 参数,相当于-rlptgoD,
  -r 是递归
  -l 是链接文件,意思是拷贝链接文件;
  -p 表示保持文件原有权限;
  -t 保持文件原有时间;
  -g 保持文件原有用户组;
  -o 保持文件原有属主;
  -D 相当于块设备文件;
  -z 传输时压缩;
  -P 传输进度;
  -v verbose,详细模式输出;
  -u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步;
  --progress 显示备份过程;
  --delete 删除那些DST中SRC没有的文件,用作同步文件用;
  3.定时自动更新配置
  (1)编写rsync.bat批处理脚本
  


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

  (2)设置计划任务(每5分钟同步一次)
  开始-管理工具-任务计划程序
  右击“任务计划程序本地”,打开创建任务界面。输入姓名(任务名称),选择启动任务的帐户,选中“不管用户是否登录都要运行”。
DSC0005.jpg

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

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

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

  四、测试中出现的错误
  1. 命令输入错误
DSC0009.jpg


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


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


五、重要说明
    对于多台服务器做文件同步,最好是连同数据备份一起做了。举个例子:有A、B、C、D四台服务器,需要保证四台服务器一个或多个目录的数据一致性,也就是BCD需要从A上同步一个或多个目录的数据,那么A就是更新源服务器,BCD就是目的服务器。现在有个问题,当A的数据出现问题或丢失,那么BCD三台的数据都会出现问题并且丢失,为了保证A的数据一定是正确的,我们在更新A服务器之前,就要先对A做数据备份。下面是个简单的bat脚本,可以实现数据的自动备份并上传至FTP服务器,可以把它加入到任务计划里面定期执行它。
Backup.bat脚本内容如下:  


  • @echo off

  • set today=%date:~0,10%
  • set nowh=%time:~0,2%
  • set nowtime=%date:~0,10% %time%
  • set rar="c:\Program Files\WinRAR\rar.exe"
  • set ftplist="E:\baklog\ftpls.txt"
  • set baklog="E:\baklog\backup.log"
  • set FtpSrv=192.168.0.109
  • set FtpPort=21
  • set FtpUser=bak
  • set FtpPwd=bak1q2w3e
  • echo %nowtime% >> %baklog%

  • ::Rar files
  • %rar% a E:\backup\backup_%today%_%nowh%.rar F:\xuad >> %baklog%

  • ::Upload files by ftp
  • echo open %FtpSrv% %FtpPort% > %ftplist%
  • echo user %FtpUser% %FtpPwd% >> %ftplist%
  • echo cd backup >>%ftplist%
  • echo bin >> %ftplist%
  • echo prompt >> %ftplist%
  • echo lcd E:\backup  >>%ftplist%
  • echo Put backup_%today%_%nowh%.rar >> %ftplist%
  • echo quit   >> %ftplist%
  • echo bye    >> %ftplist%
  • ftp -n -s:%ftplist% >> %baklog%

  • echo. > %rarlist%
  • @echo -------------------------------------------------- >> %baklog%
  • @echo. >> %baklog%
  

参考文献:
http://kerry.blog.51cto.com/172631/753232
特此感谢这位作者,谢谢!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-524062-1-1.html 上篇帖子: windows操作系统自带的TCP端口转发 下篇帖子: windows server 2008 英文版转中文版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表