做一款简单、高效、好用的文件同步工具

最近经常遇到文件同步的场景:开发完将文件上传到站点、局域网内文件互拷。

因为很多是相同的文件,覆盖拷贝费时费力,当然也试了各种工具例如FlashFXP、Beyond Compare,但要么部署麻烦,要么配置麻烦,换一台电脑又得搞一次,贼烦。

然后想着这有啥技术难度,自己搞一个呗,所以就建了这么一个项目,因为也是解决自己的痛点,所以目标也很明确,追求简单、高效、好用。

目前算完成v1.0版本吧,试了局域网内文件的镜像拷贝,还是贼快贼爽的,Ftp同步暂时没想到办法解决一致性校验的问题,文件还是覆盖拷贝,但速度也还行,毕竟文件夹有做了校验。

==========  作者:未闻    出处:博客园 原文链接点此处  ==========

一、功能介绍

1. 同步类型

  • 本地 to 本地(本地跨盘符拷贝50个文件,25个文件夹,6.5M,镜像同步,耗时367.8543毫秒,速度贼快)
  • 本地 to FTP(本地IIS搭建FTP,耗时1433.5284毫秒)
  • FTP to 本地(本地IIS搭建FTP,耗时1100.5071毫秒)
  • FTP to FTP(未测试)

2. 同步模式:镜像同步、增量同步

3. 文件校验策略:Size 文件大小,Date 最后修改时间,Hash 文件哈希值

二、设计思路

1.开发环境

  • .NET Framework 4.6
  • Visual Studio 2019
  • FluentFTP 34.0.2

2.简单画的类图

做一款简单、高效、好用的文件同步工具

三、待解决问题

1. FTP上传下载的文件,无法保留原文件的属性(创建时间、修改时间等),导致没办法按最后修改时间进行一致性校验,但是Beyond Compare可以做到保留~有了解还请不吝指点一二。

2. 校验另一个方式是用文件的哈希值,但是目前试的几个基于IIS的FTP服务器都不支持返回文件哈希值,所以也没办法~

四、参考资料

 

做一款简单、高效、好用的文件同步工具

上一篇:如何将docker默认的安装位置从C盘改为D盘?


下一篇:【CCF-CSP】模版生成系统