目的:服务器
在平常生活中,咱们有时候会遇到这样相似的问题测试
---须要把一台服务器上的某个重要的文件进行备份(拷贝另外的服务器上)编码
---须要同步系统上的配置文件到其余系统spa
利用此cwRsync软件能够解决3d
环境:日志
服务端和客户端server
同步形式: 【服务端 -----> 客户端】blog
------------------------------------------------------------------------------同步
本次测试:服务端上的部分文件定时同步到客户端指定位置test
本次用到的软件版本
服务端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下的内容
发现正是咱们想要的结果
------------------------------------------------------------------------------
接下来设置定时任务
右键运行任务进行测试
测试结果正常!
至此,整个定时同步传输文件的需求就完成了!
注:上述过程当中,那部分的编码问题致使没法传输中文没有找到好的办法,若是有更好的办法请留言告知!