前言

早就在寻找跨设备同步文件夹的方法,一直没有去仔细研究,最近突然看到了一篇相关的推送,就试验了一下里面提到软件,Resilio Sync。用着其实也不错,但是在我这台win10上总是闪退,所以就找到了Syncthing,一款与Resilio Sync类似的软件,不同的是他是免费开源的,用起来体验还可以。

唯一的不足就是它不支持iOS端,按照官方的说法就是实现方式不一样,如果要支持iOS相当于重做一遍这个软件。不过对我这种只有安卓机的来说,没有影响。

使用

软件默认是命令行操作,不过在Mac和win上有GUI版,而且可以通过浏览器操作。我的几台设备都是通过Docker方式直接安装的,使用起来没啥问题。

挂载目录的时候尽量挂载一个比较大的目录,我直接把D盘E盘挂载到了/var/syncthing/路径下的两个目录,之后会比较省事。

docker pull syncthing/syncthing
docker run -d --restart=always -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp -v E:\:/var/syncthing/xgblack_e -v D:\:/var/syncthing/xgblack_d --name=syncthing --hostname=syncthing_pc syncthing/syncthing:latest

两台设备都安装好之后,在设备A访问127.0.0.1:8384 ,进入管理界面,右上角操作菜单下,选择查看设备ID,复制下来,到设备B下添加远程设备。然后重复操作,在设备B添加设备A,就可以新建目录并配置共享了。当设备A建好目录,并选择分享给B后,B的管理界面会有消息提示,可以选择接收。

具体的配置项有很多,可以去阅读官方的文档,功能还是很强大的。你如忽略模式、版本控制等。都配置完就可以等他同步文件了,文件扫描时间间隔可以跟不文件性质不同自行设置。

最后

Syncthing和Resilio Sync 都可以不局限于局域网同步,不过用互联网因为受到上传速度比较慢的限制,所以同步速度也一般。不过对于长期同步,或指示进行备份来说足够了。