目的:

在日常生活中,我们有时候会遇到这样类似的问题

---需要把一台服务器上的某个重要的文件进行备份(拷贝另外的服务器上)

---需要同步系统上的配置文件到其他系统

利用此cwRsync软件可以解决

环境:

服务端和客户端

同步形式:  【服务端   ----->  客户端】

------------------------------------------------------------------------------

本次测试:服务端上的部分文件定时同步到客户端指定位置

本次用到的软件版本

服务端IP:172.168.10.111

客户端IP:172.168.10.222

同步172.168.10.111的FTPB文件夹副本文件夹文件到172.168.10.222的backup文件夹

------------------------------------------------------------------------------

安装软件:

在172.168.10.111上双击server软件

双击下一步到下图

默认是SvcCWRSYNC用户,软件会自动创建这个用户(密码为自动生成的密码)

点击Install安装完成

客户端直接点击下一步直到安装完成即可

安装完成后,首先需要在服务端对配置文件进行修改

默认安装路径:C:\Program Files (x86)\ICW

以上路径下有rsyncd.conf配置文件,对其进行修改

配置文件中[test]代表模块名,客户端同步命令中需要调用这个模块

注:注意path的路径书写

比如你需要备份E:\test下的内容,那你path就需要写成 /cygdrive/e/test这种形式

配置文件修改完毕后开启服务

启动以上服务即可

------------------------------------------------------------------------------

客户端配置

默认安装路径:C:\Program Files (x86)\cwRsync

编写.bat文件

总共三行:

---------

c:
cd C:\Program Files (x86)\cwRsync\bin
rsync -av rsync://172.168.10.111:8173/test /cygdrive/c/backup

---------

其中最后一行为同步语句

以上语句会同步test下所有的内容到客户端的backup目录中

本次我们需要同步的是test目录下的特定的文件夹(FTPB副本)

这时我们需要用到exclude和include参数

命令修改为

rsync -av --include-from=C:/include.txt --exclude=/* rsync://172.168.10.111:8173/test /cygdrive/c/backup

其中--include-from参数调用了include.txt文件

看看include.txt文件中的内容

注:在我的测试中,当你指定的文件或文件夹名为中文时,传输会失败

我们用上述命令测试,双击我们编写的.bat文件

文件内容:

开始传输

传输完毕,查看backup目录下的内容

发现中文的目录没有传输过来

这其实是由于乱码造成的

我们从日志文件中可以看到传输过去的文件名

传输过程中出现了乱码的问题,则在客户端的include文件中无法进行匹配,也就无法顺利传输

我尝试了多种方法都没有顺利解决这个传输指定中文的问题

最终我采用了一个非正规操作来完成我的需求

大概思路就是:既然传输过程中中文变成了乱码,我可以在include文件中写入这个完成的乱码,利用乱码去匹配。

获取相应中文乱码:

在test/q目录下手动创建一个副本.txt

然后再客户端include.txt文件中填入q这个目录

然后手动执行传输(这时候会传输q目录包括目录下的内容)

在日志中可以看到副本变成了鍓湰乱码

复制这串乱码到include.txt文件中

再次打开

发现他自动已经编码成简体中文(保存时的编码问题)

注:当你需要把FTPB(英文)和副本(中文)同时传输时,需要把中文乱码最后复制(涉及到了文本保存时的编码类型)

这样在按Ctrl+S保存

格式才会正确

最后测试:

运行.bat文件

发现中文已经被传输,在看backup下的内容

发现正是我们想要的结果

------------------------------------------------------------------------------

接下来设置定时任务

右键运行任务进行测试

测试结果正常!

至此,整个定时同步传输文件的需求就完成了!

注:上述过程中,那部分的编码问题导致无法传输中文没有找到好的办法,如果有更好的办法请留言告知!

大道浮屠诀---cwRsync同步工具的使用的更多相关文章

  1. 大道浮屠诀---mysql5.7.28 for linux安装

    环境: redhat6.5 MySQL Community Server 5.7.28 https://dev.mysql.com/downloads/mysql/5.7.html 安装RMP包的具体 ...

  2. 大道浮屠诀---NBU7.7.3_oracle11G单机-单机(异机恢复WINDOWS2008平台)

    现有环境说明: 一台WINDOWS2008R2:安装有NBU7.7.3,作为服务端 一台WINDOWS2008R2:安装有oracle11.2.0.3,作为数据库服务器 现假设数据库意外崩溃,需要进行 ...

  3. 大道浮屠诀---NBU报错代码之status2

    在一次windows2008R2系统上部署7.7.3备份过程中遇到了此报错 当备份catalog时,会出现status 2报错 经过一系列排查后,得出如下解决方法 1.任务进程中有大量的nbtelem ...

  4. Java并发之CyclicBarrier 可重用同步工具类

    package com.thread.test.thread; import java.util.Random; import java.util.concurrent.*; /** * Cyclic ...

  5. Java并发之CountDownLatch 多功能同步工具类

    package com.thread.test.thread; import java.util.Random; import java.util.concurrent.*; /** * CountD ...

  6. Java核心知识点学习----线程同步工具类,CyclicBarrier学习

    线程同步工具类,CyclicBarrier日常开发较少涉及,这里只举一个例子,以做备注.N个人一块出去玩,相约去两个地方,CyclicBarrier的主要作用是等待所有人都汇合了,才往下一站出发. 1 ...

  7. Rsync 3.1.0 发布,文件同步工具

    文件同步工具Rsync 3.1.0发布.2013-09-29 上一个版本还是2011-09-23的3.0.9 过了2年多.Rsync基本是Linux上文件同步的标准了,也可以和inotify配合做实时 ...

  8. java5 CountDownLatch同步工具

    好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行. java.util.concurrent.CountDownLatch ...

  9. mysql对比表结构对比同步,sqlyog架构同步工具

    mysql对比表结构对比同步,sqlyog架构同步工具 对比后的结果示例: 执行后的结果示例: 点击:"另存为(S)" 按钮可以把更新sql导出来.

随机推荐

  1. base64、sha256、MD5加密

    异或可逆加密操作:A对B异或结果C:A对C异或结果为A:二次异或是本身package en_decode; public class test { public static String xor(S ...

  2. Java门面模式(或外观模式)

    门面模式(或外观模式)隐藏系统的复杂性,并为客户端提供一个客户端可以访问系统的接口. 这种类型的设计模式属于结构模式,因为此模式为现有系统添加了一个接口以隐藏其复杂性.门面模式涉及一个类,它提供客户端 ...

  3. 爬虫抓取5大门户网站和电商数据day1:基础环境搭建

    最新想用爬虫实现抓取五大门户网站(搜狐.新浪.网易.腾讯.凤凰网)和电商数据(天猫,京东,聚美等), 今天第一天先搭建下环境和测试. 采用maven+xpath+ HttpClient+正则表达式. ...

  4. MySQL 到底是怎么解决幻读的?

    ; 原理:将历史数据存一份快照,所以其他事务增加与删除数据,对于当前事务来说是不可见的. 2. next-key 锁 (当前读) next-key 锁包含两部分: 记录锁(行锁) 间隙锁 记录锁是加在 ...

  5. 四(1)、springcloud之Ribbon初步配置

    1.概述 ​ Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 -负载均衡的工具.Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡 ...

  6. java-day19

    获取Stream流方法 根据Collection获取流 根据Map获取流 根据数组获取流 常用方法分为两种:延迟方法和终结方法 逐一处理:forEach 过滤:filter 映射:map 统计个数:c ...

  7. (数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换

    一.简介 主流被使用的地理坐标系并不统一,常用的有WGS84.GCJ02(火星坐标系).BD09(百度坐标系)以及百度地图中保存矢量信息的web墨卡托,本文利用Python编写相关类以实现4种坐标系统 ...

  8. vue中ref的使用(this.$refs获取为undefined)

    如果你获取到的总是空的,你注意一下: 1.你在哪里调用,和你调用的对象 试试在mounted()里面调用有效果没有 调用的对象是本来就存在的,还是需要数据渲染之后才会出现的,同理,在mounted() ...

  9. Flyway - Version control for your database

    Flyway 是什么? Flyway是个数据库版本管理工具.在开发过程中,数据库难免发生变更,例如数据变更,表结构变更.新建表或者视图等等. 在项目进行时无法保证一旦开发环境中的数据库内容变化候会去测 ...

  10. 微信小程序のwxs

    WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构. wxs可以说就是为了满足能在页面中使用js存在的,在wxml页面中,只能在插值{{ }}中写简单的j ...