Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • GitCode
  • 运营运营
  • Issue
  • #100

运营
运营
  • 项目概览

GitCode / 运营

通知 683
Star 37
Fork 47
  • 代码
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 34
    • 列表
    • 看板
    • 标记
    • 里程碑
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 代码片段
  • 项目成员
  • Pages
运营
运营
  • 项目概览
    • 项目概览
    • 详情
  • Issue 34
    • Issue 34
    • 列表
    • 看板
    • 标记
    • 里程碑
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 代码片段
    • 代码片段
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 创建新Issue
  • Issue看板
已关闭
开放中
Opened 2月 04, 2023 by mstmdev@weixin_63033567👍

gofs-基于Go的跨平台文件同步工具

开源项目标题

gofs

项目应用场景

gofs是基于golang开发的一款开箱即用的跨平台文件同步工具,目前主要支持以下几种基本场景的文件同步,并且可以通过组合不同的场景来实现更加复杂的同步需求。

在磁盘之间同步

使用本地磁盘在磁盘之间同步文件

+----------+                             +----------+                          +----------+
|          |<---(A)-- monitor disk   ----+          |                          |          |
|  DiskA   |                             |  Client  |                          |  DiskB   |
|          |----(B)--- notify change --->|          |                          |          |
|          |                             |          |                          |          |
|          |<---(C)--- read file     ----|          |                          |          |
|          |                             |          |                          |          |
|          |----(D)--- return file   --->|          |----(E)--- write file --->|          |
|          |                             |          |                          |          |
+----------+                             +----------+                          +----------+

从服务器端同步

使用远程磁盘服务端和远程磁盘客户端从服务端同步文件

+----------+                             +----------+                           +----------+                          +----------+
|          |<---(A)-- monitor disk   ----+          |                           |          |                          |          |
|  Server  |                             |  Server  |                           |  Client  |                          |  Client  |
|  Disk    |----(B)--- notify change --->|          |----(C)--notify change --->|          |                          |  Disk    |
|          |                             |          |                           |          |                          |          |
|          |<---(E)--- read file     ----|          |<---(D)-- pull file    ----|          |                          |          |
|          |                             |          |                           |          |                          |          |
|          |----(F)--- return file   --->|          |----(G)--- send file   --->|          |----(H)--- write file --->|          |
|          |                             |          |                           |          |                          |          |
+----------+                             +----------+                           +----------+                          +----------+

同步到服务器端

使用远程推送服务端和远程推送客户端同步文件到服务端

+----------+                             +----------+                         +----------+                          +----------+
|          |<---(A)--- monitor disk  ----+          |                         |          |                          |          |
|  Client  |                             |  Client  |                         |  Server  |                          |  Server  |
|  Disk    |----(B)--- notify change --->|          |                         |          |                          |  Disk    |
|          |                             |          |                         |          |                          |          |
|          |<---(C)--- read file     ----|          |                         |          |                          |          |
|          |                             |          |                         |          |                          |          |
|          |----(D)--- return file   --->|          |----(E)--- push file --->|          |----(F)--- write file --->|          |
|          |                             |          |                         |          |                          |          |
+----------+                             +----------+                         +----------+                          +----------+

从SFTP服务器上同步

使用SFTP拉取客户端从SFTP服务器上同步文件

+----------+                             +----------+                         +----------+                          +----------+
|          |<---(A)--- monitor disk  ----+          |                         |          |                          |          |
|  Client  |                             |  Client  |                         |  SFTP    |                          |  SFTP    |
|  Disk    |----(B)--- notify change --->|          |                         |  Server  |                          |  Server  |
|          |                             |          |                         |          |                          |  Disk    |
|          |<---(C)--- read file     ----|          |                         |          |                          |          |
|          |                             |          |                         |          |                          |          |
|          |----(D)--- return file   --->|          |----(E)--- push file --->|          |----(F)--- write file --->|          |
|          |                             |          |                         |          |                          |          |
+----------+                             +----------+                         +----------+                          +----------+

同步到SFTP服务器

使用SFTP推送客户端同步文件到SFTP服务器

+----------+                          +----------+                         +----------+                           +----------+
|          |                          |          +----(A)--- pull file --->|          |----(B)--- read file   --->|          |
|  Client  |                          |  Client  |                         |  SFTP    |                           |  SFTP    |
|  Disk    |<---(E)--- write file ----|          |<---(D)--- send file ----|  Server  |<---(C)--- return file ----|  Server  |
|          |                          |          |                         |          |                           |  Disk    |
|          |                          |          |                         |          |                           |          |
|          |                          |          |                         |          |                           |          |
|          |                          |          |                         |          |                           |          |
|          |                          |          |                         |          |                           |          |
+----------+                          +----------+                         +----------+                           +----------+

从MinIO服务器上同步

使用MinIO拉取客户端从MinIO服务器上同步文件

+----------+                             +----------+                         +----------+                          +----------+
|          |<---(A)--- monitor disk  ----+          |                         |          |                          |          |
|  Client  |                             |  Client  |                         |  MinIO   |                          |  MinIO   |
|  Disk    |----(B)--- notify change --->|          |                         |  Server  |                          |  Server  |
|          |                             |          |                         |          |                          |  Disk    |
|          |<---(C)--- read file     ----|          |                         |          |                          |          |
|          |                             |          |                         |          |                          |          |
|          |----(D)--- return file   --->|          |----(E)--- push file --->|          |----(F)--- write file --->|          |
|          |                             |          |                         |          |                          |          |
+----------+                             +----------+                         +----------+                          +----------+

同步到MinIO服务器

使用MinIO推送客户端同步文件到MinIO服务器

+----------+                          +----------+                         +----------+                           +----------+
|          |                          |          +----(A)--- pull file --->|          |----(B)--- read file   --->|          |
|  Client  |                          |  Client  |                         |  MinIO   |                           |  MinIO   |
|  Disk    |<---(E)--- write file ----|          |<---(D)--- send file ----|  Server  |<---(C)--- return file ----|  Server  |
|          |                          |          |                         |          |                           |  Disk    |
|          |                          |          |                         |          |                           |          |
|          |                          |          |                         |          |                           |          |
|          |                          |          |                         |          |                           |          |
|          |                          |          |                         |          |                           |          |
+----------+                          +----------+                         +----------+                           +----------+

项目地址(必填):https://github.com/no-src/gofs

  • gitcode(选填):https://gitcode.net/no-src/gofs
  • github(选填):https://github.com/no-src/gofs
  • gitee(选填):https://gitee.com/no-src/gofs
指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: gitcode/operation-work#100
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7