1 前言
syncthing可以用来同步文件夹里的所有文件,并且有不错的版本管理,基本每次更改文件,20-40秒就被扫描到了,非常丝滑;这次以此来同步obsidian的插件和文件,达到多端同步;
我家里有一台台式电脑,办公室有一台笔记本,再加上随身携带的苹果手机;我主要是在这三台设备中进行同步,之前也了解过很多同步方案,最终在WPS和坚果云中徘徊,由于坚果云每年要200大洋,且只有30G的空间,所以当时选择了WPS,因为工作原因,我的WPS开了超级会员,在超级会员的情况下WPS云盘拥有1T的空间,简直便宜大腕,同时有版本记录,自动同步功能
但是我还是选择抛弃了WPS
-
可能是由于.obsidian文件夹的原因,里面包含了很多obsidian插件主题和各种配置文件,WPS不能很好的识别到这些文件,导致同步较慢,经常一直在显示同步中,我常常担心她没有同步成功(据观察,插件配置等经常没有同步成功,正常笔记基本能同步)
-
多台设备同步,有时在另一台设备中发现文件不是最新的,需要我到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管理界面先设置登录用户信息,下次进入的话会提示输入账号密码登录进入
选择图形用户界面,输入图形管理界面用户名,图形管理界面密码,点击保持保存按钮
3.1.2 开机自启syncthing
创建一个TXT文件,复制代码粘贴到TXT文件中,然后另存为syncthing.bat文件,并把这个文件放到包含syncthing.exe的目录中
start "Syncthing" syncthing.exe -no-console -no-browser
单击syncthing.bat文件,右键创建快捷方式
将脚本文件快捷方式添加到 “启动” 菜单
按下 win + R,输入 “shell:startup” 打开 “启动” 文件夹,将syncthing.bat-快捷方式复制到启动文件夹中
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即可添加,可在设备名中写上设备的备注
其他设备的设备id可以在”设置-显示id“中查看并复制
4.2 添加同步文件夹
点击添加文件夹,在常规选项,文件夹标签中写上文件夹的备注或者显示名字,文件夹路径中填写要同步的文件夹路径
在共享页,可以选择之前添加的其他远程设备,将该文件夹共享给其他设备
4.3 版本控制
[!NOTE] 注意
版本控制适用于_从其他设备_接收的更改。也就是说,如果A打开了版本控制,B设备更改了一个文件,同步后,即A可以看到A以前的旧版本。如果 A 在她自己的计算机上本地更改文件,Syncthing 将不会存档旧版本。
在版本控制页,可以选择自己需要的版本控制模式
由于每次保存同步都会生成一个历史版本,历史版本太多了,所以我在电脑和服务器上选择的是阶段版本控制,多了一个历史版本保留策略
原文链接:syncthing文件夹同步和版本管理