关于golang:gofs使用教程基于golang的开源跨平台文件同步工具
概述gofs是基于golang开发的一款开箱即用的跨平台文件同步工具,开源地址如下:https://github.com/no-src/gofs,欢送点个Star或者提交Issue和PR,共同进步! 装置首先须要确保曾经装置了Go (版本必须是1.18+),而后你就能够应用上面的命令来装置gofs了 如果你不须要自行从源码编译装置,也能够间接下载最新公布的二进制文件 Release go install github.com/no-src/gofs/...@latest在Docker中运行如果你想要在docker中运行,请在装置或者编译的时候应用-tags netgo命令行参数或者设置环境变量CGO_ENABLED=0,否则当你运行docker容器时可能会报找不到gofs的谬误 go install -tags netgo github.com/no-src/gofs/...@latest后盾运行在windows零碎中,你能够应用上面的命令构建一个在后盾运行的不带命令行界面的程序 go install -ldflags="-H windowsgui" github.com/no-src/gofs/...@latest移除Web文件服务器如果你不须要一个Web文件服务器,能够应用上面命令构建一个体积更小的不带Web文件服务器的程序 go install -tags "no_server" github.com/no-src/gofs/...@latest疾速开始先决条件请确保文件同步的源目录和目标目录都曾经存在,如果目录不存在,则用你理论的目录替换上面的门路进行提前创立 $ mkdir source dest生成仅用于测试的证书和密钥文件,生产中请替换为正式的证书 TLS证书和密钥文件仅用于与Web文件服务器和近程磁盘服务端进行平安通信 $ go run $GOROOT/src/crypto/tls/generate_cert.go --host 127.0.0.12021/12/30 17:21:54 wrote cert.pem2021/12/30 17:21:54 wrote key.pem查看你的工作目录 $ lscert.pem key.pem source dest本地磁盘监控本地源目录将变更同步到目标目录 你能够应用logically_delete命令行参数来启用逻辑删除,从而防止误删数据 $ gofs -source=./source -dest=./dest全量同步执行一次全量同步,间接将整个源目录同步到目标目录 $ gofs -source=./source -dest=./dest -sync_once定时同步定时执行全量同步,将整个源目录同步到目标目录 # 每30秒钟将源目录全量同步到目标目录$ gofs -source=./source -dest=./dest -sync_cron="*/30 * * * * *"守护过程模式启动守护过程来创立一个工作过程解决理论的工作,并将相干过程的pid信息记录到pid文件中 $ gofs -source=./source -dest=./dest -daemon -daemon_pidWeb文件服务器启动一个Web文件服务器用于拜访近程的源目录和目标目录 ...