软件推荐

linux/NAS/Windows之间的文件同步工具Go_Rsync

栏目

软件推荐

时间

2025-04-15

投稿

Admin

最后修改时间:2025-04-18

下载地址:

支持linux物理机、Docker、windows 请按需下载

服务器端(linux物理机运行的请下载此文件) Go_rsync_srv.zip

Docker安装:直接镜像仓库搜索  zhouker123/go-rsync

Windows客户端:Go_rsync_client.zip

 

功能:linux(NAS)、windows 之间的文件实时同步,修改/删除/新建/重命名。大文件使用分片上传,分片大小2mb,使用tcp协议,更稳定和保证文件完整性。

一:Docker安装:

主要讲下NAS的安装吧 飞牛为例,很简单

1.镜像仓库搜索 zhouker123/go-rsync  或者 go-rsync 下载

2. 本地镜像 启动镜像安装

3. 开机自动开启

4. 这里映射的端口 本机端口如果有冲突可修改下,容器内端口保持8998和8999不要改。添加好你要同步的文件夹,可以把同步接收和同步发送的文件夹都添加进去

5.确认创建,勾选创建后启动

6. 容器启动后可查看日志,正常启动后应该有日志输出

 

7. 浏览器输入NAS的 地址:端口 第4步设置的端口 管理面板端口默认为 8999 (初始密码是 123 最好把密码修改)

8.  配置管理 进入管理面板后上方切换 接收端和发送端配置 

接收端和发送端都可以单独开启或关闭,也可以同时开启。需要哪个功能开启哪个功能即可

管理面板所有功能除了接收端口号修改需要重启外 其他都是即时生效的

a. 先说接收端 (接收别的机器发送过来的文件,保存到本地)默认是开启的  

【同步接收节点】:接收的文件保存的位置,可配置多个

【接收路径】:选择下方的文件夹 后点击添加即可

添加后 KEY会自动生成 

可添加多个  同步重命名和同步删除可单独开启关闭,

b. 发送端配置:(发送端就是监控本机文件然后发送到另一台安装了Go_Rsync的机器)

【发送开关】一定要在下方设置完成接收端地址后再开启,设置错误连接不上接收端会开启失败

【排除规则】:如果符合规则同步时将跳过 请按规则编写每行一个

【同步节点】和发送端节点一样选择文件夹然后输入接收端节点的KEY 即可 文件夹之间的同步是通过这个KEY来协调的,【同步节点添加后重新开启下发送开关】

最后说下日志 (管理面板底部有日志页入口)

可下载日志文件查看 超期的日志会自动删除,所以不用担心镜像会随时间磁盘占用越来越大

 

二。物理机安装方式 Docker安装的直接跳过吧

下载服务器端后解压上传所有文件到服务器给Go_rsync_srv执行权限直接运行即可,或者设置为服务随系统启动即可。

设置为服务自动启动方法:
飞牛ssh提权后再操作  sudo -i
设置服务随系统启动方法 比如服务器端上传到服务器路径为:/home/go/Go_Rsync_Srv/Go_rsync_srv
0. 先给运行文件执行权限 sudo chmod u+x /home/go/Go_Rsync_Srv/Go_rsync_srv
1:创建服务文件  sudo nano /etc/systemd/system/gosyncsrv.service
2. 服务文件内容:
[Unit]
Description=Go_Rsync_Srv
After=network.target
[Service]
Type=simple
User=root
ExecStart=/home/go/Go_Rsync_Srv/Go_rsync_srv
WorkingDirectory=/home/go/Go_Rsync_Srv
Restart=always
[Install]
WantedBy=multi-user.target
3.给权限 
sudo chmod 644 /etc/systemd/system/gosyncsrv.service
4. 重新加载Systemd配置:
sudo systemctl daemon-reload
5. 启用服务:
sudo systemctl enable gosyncsrv.service
================下面是服务的一些基础操作命令
启动/重启/停止服务:
sudo systemctl start gosyncsrv.service
sudo systemctl restart gosyncsrv.service
sudo systemctl stop gosyncsrv.service
查看服务状态:
sudo systemctl status gosyncsrv.service
追踪查看日志
journalctl -u gosyncsrv.service -n 10 -f

三:Windows客户端,现在只支持同步发送,下版本有需要的话可以加上同步接收,其实没什么可讲的,按图来就行

1.  输入服务器地址:端口后点击修改生效

2.  增加同步目录,点击后选择目录,然后提示输入服务器端密钥(服务器端配置文件内的密钥,你想和哪个节点同步就输入哪个节点的密钥)

3. 设置开机启动

4. 排除规则,匹配成功就跳过同步  详细的规则如下

?  匹配任何字符,但不包括/
*  匹配0或多个字符,但不包括/
** 匹配0或多个字符,可以是/

如所有包含 logs 的目录 和 所有 . 开头的目录
**/logs/**
**/.*/**

5. 开启同步即可。到这里你可以关闭客户端了,关闭后自动缩小到托盘。右键可唤出。

第一次服务器端没有文件,可以点击【手动同步】把本地所有文件同步到服务器端,此功能也可以校验本地文件和服务器端文件,如果不一致就会上传

打完收工!对了,有没有需要同步 S3 的 aws或类S3,有需要的后期可以考虑增加功能

 

© UU-TOOL.COM
UU工具箱 好用且免费的在线工具箱