zoukankan      html  css  js  c++  java
  • 大道浮屠诀---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: est下的内容,那你path就需要写成 /cygdrive/e/test这种形式

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

     启动以上服务即可

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

    客户端配置

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

    编写.bat文件

    总共三行:

    ---------

    c:
    cd C:Program Files (x86)cwRsyncin
    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下的内容

     发现正是我们想要的结果

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

    接下来设置定时任务

     

     

     

     

     右键运行任务进行测试

     测试结果正常!

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

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

  • 相关阅读:
    武大高级软件工程2017第7次作业
    武大高级软件工程2017第6次作业
    武大高级软件工程2017第5次作业
    四则运算相关博客列表
    武大高级软件工程2017评分汇总
    武大高级软件工程2017第4次作业
    武大高级软件工程2017第3次作业
    武大高级软件工程2017第2次作业
    API文档模板
    武大高级软件工程2017第1次作业
  • 原文地址:https://www.cnblogs.com/zakker/p/11452438.html
Copyright © 2011-2022 走看看