cwRsync文件同步
众所周知,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)
- 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用户读取的权限。
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批处理脚本
- @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分钟同步一次)
开始-管理工具-任务计划程序
右击“任务计划程序本地”,打开创建任务界面。输入姓名(任务名称),选择启动任务的帐户,选中“不管用户是否登录都要运行”。
点击“触发器”-“新建”,打开新建触发器界面。按下图进行设置,每5分钟同步一次。
点击“操作”-“新建”,打开新建操作界面。按下图进行设置,选择之前编辑好的bat脚本,然后“确定”。
“条件”和“设置”均使用默认设置,然后“确定”,输入运行此任务的用户帐户的密码,点击“确定”,创建任务计划完成。
四、测试中出现的错误
1. 命令输入错误
红框标记出来的地方应该是rsyncd.conf文件里的模块名,而不是同步目录名。
2.防火墙阻止了此端口
需要在防火墙的入站规则里添加一条允许此端口的规则。
五、重要说明
对于多台服务器做文件同步,最好是连同数据备份一起做了。举个例子:有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%
cwRsync文件同步相关推荐
- cwRsync文件双向同步问题
cwRsync是一个windows上的文件同步的一个工具,利用cwRsync这个工具可以同步服务器之间的文件.根据项目要求,需要搭建一个文件同步系统.首先在中心服务器上进行cwRsyncServer配 ...
- 利用 cwRsync 实现代码(文件)同步的解决办法
最近公司网站的 负载集群(NLB.负载平衡) 越来越庞大,对于代码版本发布来说,真是一个恶梦,公司所用服务器是 Windows Server 2003,开发语言是 Asp.Net.尝试过很多种代码(文 ...
- Windows 文件同步方案讨论
在日常运维工作中,经常会遇到这样的情况:我们需要在无人值守的情况下完成文件.文件夹的同步过程,已实现周期性的备份,避免单点故障.本研究实现了本地Windows主机与远程Windows主机,本地Wind ...
- 采用rsync实现两台solaris服务之间的文件同步
采用rsync实现两台solaris服务之间的文件同步 目的: 通过技术手段,保持服务器 A 中的某些目录能够定期同步到服务器 B 中. 本文针对 Sun Solaris 5.9 版本,其他版本或其他 ...
- Linux Rsync实现文件同步备份(转载)
原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...
- centos 多台 文件夹同步_CentOS7配置rsync实现文件同步
rsync(remote synchronize )是一个远程文件同步工具,支持多个操作系统,用于在多台服务器之间同步目录和文件.rsync采用增量传输文件的方法,只传输新文件和修改过的文件,而不是每 ...
- 探寻背后的机制化繁为简:网站程序升级不过是文件同步
苹果落到地上而不是天上,这是重力的作用: 树叶从树枝上飘落的样子谁也无法预测,这是混沌过程: 热恋中的恋人总是难分难舍,这是荷尔蒙等激素作用于下丘脑的结果: ... ... 诸如这些"复杂& ...
- 遥望星空FTP文件同步工具(附源码)1.0 发布
FTP文件同步工具1.0 发布 主要功能: 1.支持多任务多线程 2.支持自动启动 3.支持2种时间触发方式 4.支持任务进度显示 5.支持WinFtp Server.ftpserver.exe.Se ...
- linux 下的 rsync 文件同步
rsync是linux下的一款快速增量备份工具Remote Sync,是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息.rsync是用 "r ...
- Rsync服务让SLB下多台centos服务器文件同步更新
需求目的 是为了使俩台集群下的俩台服务器 实现数据同步 及真正的备份 所以负载均衡 加上rsync是一个完美的结合 下面的操作是针对阿里云的SLB 服务,SLB服务 是由tengine与lvs所组成的 ...
最新文章
- python飞机大战源代码-python版飞机大战代码分享
- linux命令dmesg查看进程被杀死原因
- fcn网络结构代码_FCN实现2-模型结构及实现
- javaweb实现分页查询(一)
- 阿里巴巴代码平台架构的演进之路
- c++成员声明中的非法限定名_new 一个对象有哪两个过程?很多人在面试中都问住了...
- SSH连接原理及ssh-key
- 【leetcode】Wildcard Matching
- Proteus8.版本以上中文教程
- 第十八届西南科技大学ACM程序设计竞赛(同步赛)
- 全市场等权中位数_市场指数估值周报20200406
- 什么无线桥接一直正在链接服务器失败,无线桥接网络常见问题故障排除
- python控制多个屏幕_使用python的多个屏幕
- 使用OSM通过ArcGis显示城市线路地图
- STM32系列(HAL库)——F103C8T6点亮1.44寸TFT-LCD彩屏
- C#把数据库表里简体字转化为繁体字
- Cadence Allegro 板框倒角设置方法
- XML入门教程(3)
- 加载模型及对测试数据进行预测p41
- JavaScript 删除 HTML 元素
热门文章
- Atlas:Ubuntu18.04使用过程中空间爆满的处理(.cache)
- gmoj 6842. 【2020.11.5提高组模拟】淘淘蓝蓝之扮猪吃愉悦
- 迭代算法与递归算法的概念及区别
- JavaScript 设计模式学习第七篇- 单例模式
- GAMES101-现代计算机图形学入门-闫令琪——Lecture 18 Advanced Topics in Rendering 学习笔记
- 很迷茫,30岁,大专学历,没有一技之长,负债累累,怎么翻身?
- 华云三维:CrownCAD(皇冠CAD)用户注册量突破5万
- Win11修改用户名(超详细图文)
- 国际冠码与国际电话区号
- 如何管理网络营销渠道冲突?