背景介绍:
由于工作需要,需要把项目中生成的文件做备份,由于文件比较多,手动进行备份比较麻烦,所以做这个项目。在做本项目前并没有做过类似的项目,经过查找资料,使用Netty作为文件传输比较合适,经过学习,也借鉴了网上的资料才做成这个项目,并且我还准备继续维护下去。
项目说明:
本项目采用Java Netty作为后台,本项目由三个工程组成。
fscmonitor:监控目录中文件的变化
fscclient:把监控目录中的文件发送到服务器
fscserver:服务器接收文件
主要思路是监控文件目录变化,把变化的情况记录到文本,有个每天定时任务检测文本中的内容,把变化的文件进行删除或者传送到服务器。这个情况基本可以满足定时备份文件的作用。
还有一些对外的http接口,主要有根据全量文件生成文本,可以一次性同步全量文件。服务器有已经存在文件的接口。如果有其他方面的需求,可以留言给我。
在所有机器是win10或者所有机器是centos7上都测试通过,一台是windows一台是linux的情况没有测试过。目前可以实现多个客户端对一个服务器,以后可以实现一个客户端对多台服务器的备份,具体怎么做还没有设计好。
主要配置说明:
fscmonitor
monitor.monitoraddress:监控的目录
monitor.address:生成文本的目录
fscclient
client.serverip:服务器ip
client.port:服务器端口
client.monitoraddress:监控的目录
client.address:监控生成的文本目录
fscserver
server.port:服务器端口
server.filepath:存储目录
项目顺序启动:
fscmonitor:FileMonitor
fscserver:FscServerMain
fscclient:FscClientMain
Github地址 https://github.com/zzxiaoma163/fsc
gitee地址 https://gitee.com/XiaoMaGeGeW/fsc