...
分享 syncthing

如何在Linux上安装和配置Syncthing,实现文件同步

一款轻量级、开源且强大的文件同步工具——Syncthing。通过它,你可以轻松在多个设备间同步文件,再也不怕文件丢失或版本不一致。

一、什么是Syncthing?

Syncthing 是一个自由的开源文件同步工具,支持多平台,包括Linux、macOS、Windows、Android等。它的最大亮点是完全去中心化,不依赖云端服务器,数据传输加密,极大保护了用户隐私。

二、在Linux上安装Syncthing

1. github下载最新二进制包

github:https://github.com/syncthing/syncthing
releases:https://github.com/syncthing/syncthing/releases
安卓:https://github.com/syncthing/syncthing-android

根据自己的操作系统下载,我是ubuntu x64机器所以下载了:syncthing-linux-amd64-v1.27.12.tar.gz

2. 安装Syncthing

不建议使用apt安装,版本有点老旧。
解压压缩包

tar -xzvf syncthing-linux-amd64-v1.27.12.tar.gz

解压出来将syncthing二进制文件移动到bin中

mv syncthing /usr/bin/syncthing

至此安装就完成了。

3. 启动Syncthing

Syncthing安装完成后,可以通过命令启动它:

syncthing

启动后,Syncthing会自动在本地的127.0.0.1:8384端口运行一个Web管理界面,打开浏览器,输入 http://localhost:8384 进入管理页面。
如果你的Syncthing构建在服务器上,那么需要配置一下IP才行。命令行输入 syncthing -paths 找到 config.xml 这项,vim编辑config.xml文件内容。

vim /root/.local/state/syncthing/config.xml

找到gui,将127.0.0.1:8384改成0.0.0.0:8384这样就可以外网访问了。

配置完成后重新启动syncthing。

三、配置Syncthing

1. 配置防火墙

在使用 Syncthing 时,除了 8384 端口(用于 Web UI),你还需要确保以下端口开放:

  • 22000:用于同步数据的主要端口。
  • 21027(UDP):用于局域网发现和连接。

2. 添加同步文件夹

进入Web界面后,你可以点击“添加文件夹”按钮,选择需要同步的本地文件夹。注意,每个同步的文件夹都可以设置唯一的ID和不同的权限。

3. 添加同步设备

点击页面中的“添加远程设备”,输入对方设备的ID(可以从对方Syncthing管理界面获取)。双方设备会自动互相配对,一旦连接成功,就可以开始同步了。这个就不详细说了,自己研究一下就知道了。

四、设置开机自启动

为了避免每次重启都要手动启动Syncthing,我们可以将其设置为开机自启动。

1. 创建系统服务

sudo nano /etc/systemd/system/syncthing.service

在文件中输入以下内容:

-no-browser 是 Syncthing 的一个启动选项,表示在启动 Syncthing 时不自动打开浏览器访问管理界面。

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=https://docs.syncthing.net/
After=network.target

[Service]
User=你的用户名如:ubuntu 或 root
ExecStart=/usr/bin/syncthing -no-browser

[Install]
WantedBy=multi-user.target

保存并退出后,执行以下命令启用服务:

# 重新加载systemd
sudo systemctl daemon-reload

# 启用并启动Syncthing服务
sudo systemctl enable syncthing
sudo systemctl start syncthing

五、常见问题与解决方案

1. 无法访问Web界面

确保Syncthing已经启动,并且防火墙开放了8384端口。如果还是无法访问,可以尝试查看日志:

   journalctl -u syncthing

2. 设备无法配对

确认对方设备的ID是否正确,并且两端的Syncthing都已添加了对方设备。如果有防火墙,检查22000端口是否已开放。

关于小程序上canvas移动卡顿的解决方法 wo mic手机秒变电脑麦克风,解决你台式电脑没有麦克风的尴尬
biu biu biu
Windows 10系统连接共享打印机报错0x00000709、0x0000007c、0x0000011b Android Java ASE加解密与PHP AES加解密 Nginx反向代理是什么,及反向代理的基本配置 php文件缓存类,简单的文件缓存 js生成日期,昨天、前天、今天、明天、一周后日期生成