如何在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端口是否已开放。