1 前言

syncthing可以用来同步文件夹里的所有文件,并且有不错的版本管理,基本每次更改文件,20-40秒就被扫描到了,非常丝滑;这次以此来同步obsidian的插件和文件,达到多端同步;

我家里有一台台式电脑,办公室有一台笔记本,再加上随身携带的苹果手机;我主要是在这三台设备中进行同步,之前也了解过很多同步方案,最终在WPS和坚果云中徘徊,由于坚果云每年要200大洋,且只有30G的空间,所以当时选择了WPS,因为工作原因,我的WPS开了超级会员,在超级会员的情况下WPS云盘拥有1T的空间,简直便宜大腕,同时有版本记录,自动同步功能

但是我还是选择抛弃了WPS

  1. 可能是由于.obsidian文件夹的原因,里面包含了很多obsidian插件主题和各种配置文件,WPS不能很好的识别到这些文件,导致同步较慢,经常一直在显示同步中,我常常担心她没有同步成功(据观察,插件配置等经常没有同步成功,正常笔记基本能同步)

  2. 多台设备同步,有时在另一台设备中发现文件不是最新的,需要我到WPS云盘里操作批量更新才能同步成最新的版本

最终我选择了syncthing

2 syncthing介绍

一款免费开源的同步软件,在Github中拥有59.8K的star,Syncthing 是基于web界面管理的,可以在Linux 、 window、MACOS和安卓上同步。苹果手机由于系统原因,需要使用Möbius Sync(38大洋)来同步,Möbius Sync内核就是syncthing

Syncthing需要两台设备同时在线才能同步,可以拿一台不要的手机一直挂着,我自己的话有服务器,在服务器上安装一个Syncthing,相当于有一个24小时不关机的电脑

3 安装syncthing

官网:syncthing

3.1 windows安装syncthing

在官网下载对应版本的安装包,解压后双击syncthing.exe即可自动在浏览器打开**http://127.0.0.1:8384/ 进入到Syncthing管理页面,以后每次都可以通过浏览器打开这个地址进入管理界面

3.1.1 设置登录用户

第一次进入Syncthing管理界面先设置登录用户信息,下次进入的话会提示输入账号密码登录进入
选择图形用户界面,输入图形管理界面用户名,图形管理界面密码,点击保持保存按钮

image.png
image.png

3.1.2 开机自启syncthing

创建一个TXT文件,复制代码粘贴到TXT文件中,然后另存为syncthing.bat文件,并把这个文件放到包含syncthing.exe的目录中

start "Syncthing" syncthing.exe -no-console -no-browser

单击syncthing.bat文件,右键创建快捷方式

image.png
将脚本文件快捷方式添加到 “启动” 菜单
按下 win + R,输入 “shell:startup” 打开 “启动” 文件夹,将syncthing.bat-快捷方式复制到启动文件夹中

image.png

3.2 Linux安装syncthing

本地部署使用docker-compose部署,请提前在Linux中部署好docker和docker-compose

创建目录

mkdir -p data/docker_data/syncthing

新建syncthing的docker-compose配置文件

# 跳转到syncthing目录
data/docker_data/syncthing

# 新建并编辑docker-compose.yml文件
vim docker-compose.yml

编辑syncthing的docker-compose配置文件,并保存

# 将这段配置复制进docker-compose.yml中,英文输入法下按:wq即可进行保持

version: "3"
services:
  syncthing:
    image: syncthing/syncthing:1.25
    container_name: syncthing
    hostname: my-syncthing
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - data/docker_data/syncthing/data/myfiles:/var/syncthing/myfiles
    network_mode: host
    restart: unless-stopped

启动syncthing服务

docker-compose up -d

输入服务器ip+端口打开syncthing管理面板,格式 = 服务器ip:8384

3.2.1 设置登录用户

与windows搭建的syncthing设置登录用户相同

4 多设备同步

官方还没有出syncthing苹果手机版,苹果手机可以在AppStore下载Möbius Sync替代(其实就是syncthing套了个壳,功能一样的),不过需要38大洋

4.1 添加其他设备

点击添加远程设备,输入其他设备的id即可添加,可在设备名中写上设备的备注

image.png

其他设备的设备id可以在”设置-显示id“中查看并复制
image.png

4.2 添加同步文件夹

点击添加文件夹,在常规选项,文件夹标签中写上文件夹的备注或者显示名字,文件夹路径中填写要同步的文件夹路径

image.png
image.png

在共享页,可以选择之前添加的其他远程设备,将该文件夹共享给其他设备

image.png

4.3 版本控制

[!NOTE] 注意
版本控制适用于_从其他设备_接收的更改。也就是说,如果A打开了版本控制,B设备更改了一个文件,同步后,即A可以看到A以前的旧版本。如果 A 在她自己的计算机上本地更改文件,Syncthing 将不会存档旧版本。

在版本控制页,可以选择自己需要的版本控制模式

由于每次保存同步都会生成一个历史版本,历史版本太多了,所以我在电脑和服务器上选择的是阶段版本控制,多了一个历史版本保留策略
image.png

image.png