syncthing文件夹同步与版本管理

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

原文链接:syncthing文件夹同步和版本管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/633850.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言回顾】联合和枚举

前言1. 联合体1.1 联合体的声明1.2 联合体的特点1.3 联合体的使用 2. 枚举2.1 枚举的声明2.2 枚举的特点2.3 枚举的使用 结语 #include<GUIQU.h> int main { 上期回顾: 【C语言回顾】结构体 个人主页&#xff1a;C_GUIQU 专栏&#xff1a;【C语言学习】 return 一键三连;…

x264 码率控制 MBtree 原理:mbtree_propagate_list 函数分析

mbtree_propagate_list 函数功能 是视频编码中宏块树传播算法的一部分,用于在编码决策过程中更新参考帧的传播成本。这个过程特别关注于如何处理运动向量(Motion Vectors, MVs)以及如何根据这些MVs对参考帧的成本进行加权,从而影响最终的编码选择。 该函数作为x264编码器…

【Android】联系人列表补充

真布局--叠起来垂直管 效果展示 部分代码&#xff08;在activity_main&#xff09;里面 <FrameLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"…

二十五、openlayers官网示例CustomOverviewMap解析——实现鹰眼地图、预览窗口、小窗窗口地图、旋转控件

官网demo地址&#xff1a; Custom Overview Map 这个示例展示了如何在地图上增加一个小窗窗口的地图并跟随着地图的旋转而旋转视角。 首先加载了一个地图。其中 DragRotateAndZoom是一个交互事件&#xff0c;它可以实现按住shift键鼠标拖拽旋转地图。 const map new Map({int…

Java分支结构详解

Java分支结构详解 前言一、if 语句基本语法表示一表示二表示三 代码示例判定一个数字是奇数还是偶数判定一个数字是正数还是负数判定某一年份是否是闰年 注意要点悬垂 else 问题代码风格问题分号问题 二、switch 语句基本语法代码示例根据 day 的值输出星期 注意事项break 不要…

QtCreator,动态曲线实例

样式图&#xff1a; .ui 在sloem1.ui文件中&#xff0c;拖入一个label控件&#xff0c; 头文件.h #include "QtGui/QPainter.h" #include "QtCore/QTimer.h"protected:bool eventFilter(QObject *obj,QEvent *event);void labelPaint();public slots: /…

Element Plus/vue3 无限级导航实现

在使用element plus 时&#xff0c;最初要使用的就是导航组件了&#xff0c;官网上看到的也就是写死的一级/二级导航&#xff0c;那么如何设计一个无限级且动态的导航呢&#xff1f;毋庸置疑&#xff0c;递归。废话不多说&#xff0c;直接看代码和效果&#xff1a; 代码&#x…

我在去哪儿薅到了5块钱火车票代金券,速薅

哈哈&#xff0c;亲爱的薅羊毛小伙伴们&#xff01; 刚刚在去哪儿大佬那儿发现了一个超级薅羊毛福利&#xff01;我只花了短短两分钟&#xff0c;就搞到了一张5块钱火车票代金券&#xff0c;简直是天上掉馅饼的节奏啊&#xff01; 话不多说&#xff0c;薅羊毛的姿势给你们摆好…

树的非递归遍历(层序)

层序是采用队列的方式来遍历的 就比如说上面这颗树 他层序的就是&#xff1a;1 24 356 void LevelOrder(BTNode* root) {Que q;QueueInit(&q);if (root){QueuePush(&q, root);}while (!QueueEmpty(&q)){BTNode* front QueueFront(&q);QueuePop(&q);print…

Docker Compose使用

Docker-Compose是什么 docker建议我们每一个容器中只运行一个服务,因为doker容器本身占用资源极少&#xff0c;所以最好是将每个服务单独分割开来&#xff0c;但是这样我们又面临了一个问题&#xff1a; 如果我需要同时部署好多个服务&#xff0c;难道要每个服务单独写Docker…

202473读书笔记|《但愿呼我的名为旅人:松尾芭蕉俳句300》——围炉夜话,身顿心安,愿每个人都能在爱里自由驰骋

202473读书笔记|《但愿呼我的名为旅人&#xff1a;松尾芭蕉俳句300》——围炉夜话&#xff0c;身顿心安&#xff0c;愿每个人都能在爱里自由驰骋 &#x1f60d;&#x1f60d;&#x1f929;&#x1f929; 译者序正文二正文三正文四正文五正文六正文七 《但愿呼我的名为旅人&…

网站笔记:huggingface——can you run it?

Can You Run It? LLM version - a Hugging Face Space by Vokturz 1 配置设置部分 Model Name就是需要测量的模型名称 GPU Vendor ——GPU供应商 Filter by RAM (按RAM过滤) 筛选出所有内存容量在选择范围之间的GPU GPU 下拉菜单选择具体的GPU型号 LoRa % trainable param…

MT3608B是一个恒定频率,6引脚SOT23电流模式升压转换器用于小型,低功耗应用的目的芯片IC

一般说明 该MT3608B是一个恒定频率&#xff0c;6引脚SOT23电流模式升压转换器用于小型&#xff0c;低功耗应用的目的。该MT3608B开关在1.2MHz&#xff0c;并允许使用微小&#xff0c;低成本的电容器和电感2毫米或更少的高度。内部软启动的结果在小浪涌电流和延长电池寿…

Linux网络——端口号理解与UDP协议

前言 在之前&#xff0c;我们学习了UDP通信与套接字编程&#xff0c;了解到需要使用端口号来表示网络中的数据需要传输到哪个进程&#xff0c;同时使用套接字的进行了UDP的通信。但当时在应用层&#xff0c;我们仅仅是浮于表面进行了初步的使用&#xff0c;今天我们来深入的理…

面试八股之MySQL篇1——慢查询定位篇

&#x1f308;hello&#xff0c;你好鸭&#xff0c;我是Ethan&#xff0c;一名不断学习的码农&#xff0c;很高兴你能来阅读。 ✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。 &#x1f3c3;人生之义&#xff0c;在于追求&#xff0c;不在成败&#xff0c;勤通…

卷积神经网络(CNN)详细介绍及其原理详解

卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;是深度学习中非常重要的一类神经网络&#xff0c;主要用于图像识别、图像分类、物体检测等计算机视觉任务。本文将详细介绍卷积神经网络的基本概念、结构组成及其工作原理&#xff0c;并…

IIS网站搭建

1、添加网站 2、命名加上端口方便查看端口占用情况&#xff08;可有可无&#xff09; 3、导入sql文件&#xff0c;数据库打开——新建数据库——建好的数据库右键运行sql文件——打开路径网站下面的install文件下的sql——选中之后点开始——左侧页面的右键刷新就会显示。

2024最新 Jenkins + Docker 实战教程(四) - 编写自己的Springboot项目实现自动化部署

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

前端基础:1-2 面向对象 + Promise

面向对象 对象是什么&#xff1f;为什么要面向对象&#xff1f; 通过代码抽象&#xff0c;进而藐视某个种类物体的方式 特点&#xff1a;逻辑上迁移更加灵活、代码复用性更高、高度的模块化 对象的理解 对象是对于单个物体的简单抽象对象是容器&#xff0c;封装了属性 &am…

IP学习——ospf1

OSPF:开放式最短路径优先协议 无类别IGP协议&#xff1a;链路状态型。基于 LSA收敛&#xff0c;故更新量较大&#xff0c;为在中大型网络正常工作&#xff0c;需要进行结构化的部署---区域划分、ip地址规划 支持等开销负载均衡 组播更新 ---224.0.0.5 224.0.0.6 …