基于golang文件实时监控并同步远端服务器工具

Punching · 2020-03-19 18:18:05 · 5246 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2020-03-19 18:18:05 的文章,其中的信息可能已经有所发展或是发生改变。

SftpSync

基于golang开发的 文件实时同步软件

前言

1.本人是个重度某度云用户,但是云盘的速度不开会员的情况下真是太慢了,而且也不能实时备份,所以想过自己搭建一个NAS。写个程序能可以实时把我的工作目录备份到NAS上。

2.工作中,我们开发组想搭建一个公共的开发机,但是samba协议挂在到本地以后无法用svn 或git 与版本库同步,最近突然想到其实也可以用实时同步的程序,把本地的脚本代码实时同步到开发机上,这个就可以解决开发机的问题了

开发环境

linux deepin 系统

golang 版本 1.14

实现的功能

1.可配置多个实时同步目录。 只需要再conf.json中添加好源目录和目标目录即可

"Sync": [
        {
            "Name":"pc项目",
            "Sourcepath": "/home/zlc/goProject/src/ftpsync/test",
            "Targetpath": "/home/zlc/project/sftpdata/upload2"
        },
        {
            "Name":"触屏项目",
            "Sourcepath": "/home/zlc/goProject/src/ftpsync/test2",
            "Targetpath": "/home/zlc/project/sftpdata/upload"
        }
        ]

2.实现了监控文件目录的实时增加和删除

3.通过sftp协议同步文件到服务器

4.所有的更新操作都记录到日志文件

软件规划

1.以上基础上添加一键初始化所有目录到服务器

2.添加gui可视化界面

3.完善单元测试

4.交叉编译,支持主流平台使用Windows linux mac 等等

最后

再完成这个小软件的过程中,我发现早已经有同行有过相同的想法,但是都开源代码都不是很完善,今后我会再业余时间了尽量完善这个软件,也是对我自学golang以来学习成果的一个验证


github:https://github.com/zlcting/ftpsync


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5246 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传