syncthing,跨平台远程自动同步工具

简介

Syncthing 是一个跨平台的同步工具,支持 Windows、MacOS、Linux、FreeBSD、Android 等等平台。

特点:易于使用,界面简单,支持版本管理

图片.png

安装

Windows

下载地址:https://github.com/syncthing/syncthing/releases/tag/v1.29.2

解压,点击 syncthing.exe 即可运行

浏览器打开:http://127.0.0.1:8384/

Linux

使用包管理器安装即可

1
2
# Debian/Ubuntu
sudo apt install syncthing

如果觉得自带的包管理器版本低,可以添加 syncthing 的仓库

1
2
3
# Add the release PGP keys:
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
1
2
# Add the "stable" channel to your APT sources:
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
1
2
3
# Update and install syncthing:
sudo apt-get update
sudo apt-get install syncthing

启动

1
systemctl --user start syncthing

停止

1
systemctl --user stop syncthing

开机自动启动

1
systemctl --user enable syncthing

删除开机自动启动

1
systemctl --user disable syncthing

浏览器打开:http://127.0.0.1:8384/

如果是服务器,需要编辑修改监听地址

1
vim $HOME/.config/syncthing/config.xml
1
2
3
4
5
<address>127.0.0.1:8384</address>

修改为

<address>0.0.0.0:8384</address>

重启服务

Android

寻找名为 Syncthing-Fork 的软件,

下载方式:

操作逻辑简单,不需要介绍

使用

配对设备

找到每个设备的 ID,添加即可,注意的是,需要相互添加才可以连接

添加文件夹跟着操作即可

添加文件夹详细介绍

关于添加文件夹每个按钮,选项的详细介绍

常规

  • 文件夹标签:描述性标识,可随意定制,不过建议使用 文件夹/文件夹这种命名,这样做的好处一是识别性,二是在其他设备可自动作为文件夹目录,同步到 Android 设备尤为有用
  • 文件夹 ID:文件夹的唯一标识,不需要更改,也没必要更改
  • 文件夹路径:要想分享的文件夹的路径

共享

选择共享设备,以及密码设置,中转设备加密设置技巧:

  • 密码不为空:强制要求目标设备加密,可以用在中转设备上,这样中转设备上的文件将会加密,再从中转设备上添加的文件夹分享给第三个设备,第三个设备填入第一个设备设置的密码,就可以解密。
  • 密码为空:目标设备不加密

文件版本控制

根据字面意思和页面提示即可

  • 不启用文件版本控制
  • 回收站版本控制
  • 简单文件版本控制
  • 阶段文件版本控制
  • 外部文件版本控制

忽略模式

这个忽略模式用在本地设备

例如:

Windows 上想同步某个文件夹,但是某些文件夹不想同步,就可以设置

Android 上会产生一些 .开头的文件夹,同步到其他设备会污染文件夹

高级

  • 文件夹类型:可以选择发送接收,只发送,只接受,加密接收

其他暂略,

备份模式

如果想要达到备份效果,即是在某一端设备不会自动删除文件,可以在

操作-高级-文件夹,选中某一个共享的文件夹,找到Ignore Delete,选中。

这样就不会在同步时,如果某一方设备删除了文件,本地设备不会跟着删除,达到备份效果。

常见用途:备份照片,视频等。

系统服务

Windows

直接运行 syncthing 会有一个前台的窗口,关掉就会退出运行,解决方法是安装为系统服务,让系统开机自动启动

要想实现这个功能,需要借助第三方工具,NSSM

关于 NSSM 介绍和安装可查看这篇文章:nssm,创建 Windows 系统服务的工具

创建 syncthing 服务

1
nssm install syncthing "D:\remote\syncthing-windows-amd64-v1.29.2\syncthing.exe" -no-browser

修改 syncthing 服务,指定运行用户

1
nssm edit syncthing

找到 Log on,选择 This account,输入当前用户,密码。保存退出

启动服务

1
nssm start syncthing

停止服务

1
nssm stop syncthing

删除服务

1
nssm remove syncthing

syncthing 数据备份

Windows

配置文件所在位置:

1
%USERPROFILE%\AppData\Local\Syncthing

备份该文件夹的内容即可

Linux

配置文件所在位置:

1
$HOME/.config/syncthing

备份该文件夹的内容即可

问题汇总

问题1

Documents/school" (l9jth-kpuji): folder marker missing (this indicates potential data loss, search docs/forum to get information about how to proceed

出现这样的错误,需要在分享的文件下新建 .stfolder 文件夹,重新确认

页面浏览量Loading
网站总访客数:Loading
网站总访问量:Loading
使用 Hugo 构建
主题 StackJimmy 设计
-->