大道浮屠诀---cwRsync同步工具的使用
目的:
在日常生活中,我们有时候会遇到这样类似的问题
---需要把一台服务器上的某个重要的文件进行备份(拷贝另外的服务器上)
---需要同步系统上的配置文件到其他系统
利用此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同步工具的使用的更多相关文章
- 大道浮屠诀---mysql5.7.28 for linux安装
环境: redhat6.5 MySQL Community Server 5.7.28 https://dev.mysql.com/downloads/mysql/5.7.html 安装RMP包的具体 ...
- 大道浮屠诀---NBU7.7.3_oracle11G单机-单机(异机恢复WINDOWS2008平台)
现有环境说明: 一台WINDOWS2008R2:安装有NBU7.7.3,作为服务端 一台WINDOWS2008R2:安装有oracle11.2.0.3,作为数据库服务器 现假设数据库意外崩溃,需要进行 ...
- 大道浮屠诀---NBU报错代码之status2
在一次windows2008R2系统上部署7.7.3备份过程中遇到了此报错 当备份catalog时,会出现status 2报错 经过一系列排查后,得出如下解决方法 1.任务进程中有大量的nbtelem ...
- Java并发之CyclicBarrier 可重用同步工具类
package com.thread.test.thread; import java.util.Random; import java.util.concurrent.*; /** * Cyclic ...
- Java并发之CountDownLatch 多功能同步工具类
package com.thread.test.thread; import java.util.Random; import java.util.concurrent.*; /** * CountD ...
- Java核心知识点学习----线程同步工具类,CyclicBarrier学习
线程同步工具类,CyclicBarrier日常开发较少涉及,这里只举一个例子,以做备注.N个人一块出去玩,相约去两个地方,CyclicBarrier的主要作用是等待所有人都汇合了,才往下一站出发. 1 ...
- Rsync 3.1.0 发布,文件同步工具
文件同步工具Rsync 3.1.0发布.2013-09-29 上一个版本还是2011-09-23的3.0.9 过了2年多.Rsync基本是Linux上文件同步的标准了,也可以和inotify配合做实时 ...
- java5 CountDownLatch同步工具
好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行. java.util.concurrent.CountDownLatch ...
- mysql对比表结构对比同步,sqlyog架构同步工具
mysql对比表结构对比同步,sqlyog架构同步工具 对比后的结果示例: 执行后的结果示例: 点击:"另存为(S)" 按钮可以把更新sql导出来.
随机推荐
- python3使用requests和requests_toolbelt上传文件
https://blog.csdn.net/summerpowerz/article/details/80293235 https://blog.csdn.net/lhh08hasee/article ...
- 基于Netty的RPC架构学习笔记(十二):借助spring实现业务分离、聊天室小项目、netty3和4、5的不同、业务线程池以及消息串行化
文章目录 借助spring实现业务分离(
- inode缓存与dentry缓存
1. inode缓存 1: struct inode { 2: /* RCU path lookup touches following: */ 3: umode_t i_mode; 4: uid_t ...
- IntelliJ快捷键记录
1.自动补全返回类型及变量:Ctrl+Alt+V2.大小写转换:Ctrl+Shift+U3.get/set方法快捷键:Alt+Insert4. 查看类继承关系:Ctrl+H或者Ctrl+Shift+A ...
- Codeforce 1182B Plus from Picture
题目链接:http://codeforces.com/problemset/problem/1182/B 题意:检查图中 * 形成的是否是唯一的十字. 思路:dfs找到十字的中心,反向消除十字,最后检 ...
- 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式
JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...
- 常用内置模块(四)——subprocess、re
常用模块(四) 一.subprocess模块 1.subprocess为子流程模块,用于执行系统命令,该模块在Python全栈开发中不常用 2.常用方法 run 返回一个表示执行结果的对象 call ...
- 骑马修栅栏 Riding the Fences
题目背景 Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. 题目描述 John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个栅栏.你必须编一个 ...
- 项目警告:There are multiple modules with names that only differ in casing.This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.Use equal casing. Compare these modul
记录个自己遇到的问题: 上星期项目刚拉取下来的时候运行没有任何警告,晚上回去vscode提示更新新的东西,当时没管就立即更新了,第二天重启项目直接一大堆警告冒了出来: There are multip ...
- 【颓废篇】Py:从零开始的poj自动提交
之前学习了一些python的爬虫技术... 已经可以通过python来水blog的阅读量了 你知道的太多了, 然而你看我这个blog惨不忍睹的访问量, 有人吗? 有人吗? 今天突然又双叒叕心血来潮想写 ...