如何在Debian 11上安装Syncthing远程文件同步软件
在此页
- 先决条件
- 添加同步存储库
- 在 Debian 11 上安装 Syncthing
- 创建用于同步的 Systemd 服务文件
- 设置同步管理员密码
- 将每台服务器添加到另一台服务器
- 创建并共享文件夹
- 结论
Syncthing 是一个免费的开源文件同步应用程序,用于通过互联网在多个远程设备之间同步文件。它在点对点架构上工作,并在两个设备之间自动交换数据。它可以帮助您保持文件和目录的实时同步。多个设备之间的所有数据传输都是安全的,并使用 TLS 加密。它有适用于 Linux、Windows 和 macOS 的客户端。它还有一个 Android 应用程序可以与智能手机同步!
在这篇文章中,我们将向您展示如何在 Debian 11 服务器上安装 Syncthing 文件同步软件。
先决条件
- 两台运行 Debian 11 的服务器。
- 在每台服务器上都配置了根密码。
添加同步存储库
默认情况下,Syncthing 不包含在 Debian 11 默认存储库中。因此,您需要在两台服务器上添加 Syncthing 存储库。
首先,使用以下命令安装所需的依赖项:
apt-get install gnupg2 curl apt-transport-https -y
接下来,使用以下命令下载并添加 GPG 密钥:
curl -s https://syncthing.net/release-key.txt | apt-key add -
接下来,使用以下命令将 Syncthing 存储库添加到 APT:
echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list
接下来,使用以下命令更新存储库:
apt-get update -y
在 Debian 11 上安装 Syncthing
此时,Syncthing 存储库已添加到两台服务器上。现在,在两台服务器上运行以下命令来安装 Syncthing。
apt-get install syncthing -y
安装 Syncthing 后,使用以下命令验证 Syncthing 版本:
syncthing --version
您将获得以下输出:
syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64) 2021-12-30 12:07:01 UTC [noupgrade]
创建用于同步的 Systemd 服务文件
接下来,您需要在两台服务器上创建一个 systemd 服务文件来管理 Syncthing。您可以使用以下命令创建它:
nano /etc/systemd/system/
添加以下行:
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
[Install]
WantedBy=multi-user.target
完成后保存并关闭文件。然后,重新加载 systemd 守护进程以应用更改。
systemctl daemon-reload
接下来,使用以下命令启动 Syncthing 服务:
systemctl start
接下来,使用以下命令验证 Syncthing 的状态:
systemctl status
您将获得以下输出:
? - Syncthing - Open Source Continuous File Synchronization for root
Loaded: loaded (/etc/systemd/system/; disabled; vendor preset: enabled)
Active: active (running) since Mon 2022-01-31 02:28:35 UTC; 11s ago
Docs: man:syncthing(1)
Main PID: 2746 (syncthing)
Tasks: 14 (limit: 2341)
Memory: 56.3M
CPU: 1.661s
CGroup: /system.slice/system-syncthing.slice/
??2746 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
??2752 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: QUIC listener ([::]:22000) starting
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file o>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Creating new HTTPS certificate
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: GUI and API listening on [::]:8384
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: My name is "server1"
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] WARNING: Syncthing should not run as a privileged or system user. Please consider using a no>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 resolved external address quic://69.87.219.167:22000 (via stun.sy>
默认情况下,Syncthing 监听 8384 端口。您可以使用以下命令查看:
ss -antpl | grep 8384
您将获得以下输出:
LISTEN 0 4096 *:8384 *:* users:(("syncthing",pid=2752,fd=28))
设置同步管理员密码
此时,Syncthing 已在两台服务器上安装并运行。现在,您需要访问 Syncthing Web UI 并设置管理员密码。
要设置第一台服务器的管理员密码,请打开您的 Web 浏览器并使用 URL http://first-server-ip:8384 访问它。您应该看到以下屏幕:

单击“设置”按钮。您应该看到以下屏幕:

在 GUI 选项卡中,定义您的管理员用户名和密码,然后单击“保存”按钮应用更改。您将被重定向到 Syncthing 登录页面:

提供您的管理员用户名、密码,然后单击“登录”按钮。您应该会在以下屏幕上看到 Syncthing 仪表板:

要设置第二台服务器的管理员密码,请打开您的 Web 浏览器并使用 URL http://second-server-ip:8384 访问它。您应该看到以下屏幕:

单击“设置”按钮。您应该看到以下屏幕:

在 GUI 选项卡中,定义您的管理员用户名和密码,然后单击“保存”按钮应用更改。您将被重定向到 Syncthing 登录页面:

提供您的管理员用户名、密码,然后单击“登录”按钮。您应该在以下屏幕中看到 Syncthing 仪表板:

将每台服务器添加到另一台服务器
接下来,您需要找到每台服务器的设备 ID 并将其添加到另一台服务器,以便在两台服务器之间同步文件。
在第一个服务器仪表板上,单击“操作”>“显示 ID”以找到设备 ID。您应该看到以下屏幕:

在第二个服务器仪表板上,单击“操作”>“显示 ID”以找到设备 ID。您应该看到以下屏幕:

在第一台服务器上,单击关闭按钮。您应该看到以下屏幕:

现在,单击添加远程设备。您应该看到以下屏幕:

提供第二台服务器的设备 ID 和名称,然后单击“保存”按钮。添加设备后,您应该会看到以下屏幕:

在第二台服务器上,单击添加远程设备。您应该看到以下屏幕:

提供第一个服务器的设备 ID 和名称,然后单击“保存”按钮。您应该看到以下屏幕:

创建和共享文件夹
接下来,您需要在第一台服务器上添加并共享要与第二台服务器同步的文件夹。
在第一台服务器上,单击“添加文件夹”按钮。您应该看到以下屏幕:

提供您的文件夹标签、文件夹路径,然后单击“共享”选项卡。您应该看到以下屏幕:

勾选第二个服务器,然后单击“保存”按钮。您应该看到以下屏幕:

接下来,转到第二台服务器并单击“全部重新扫描”按钮。您应该看到以下屏幕:

单击添加以添加在第一台服务器上共享的文件夹。您应该看到以下屏幕:

单击“保存”按钮以应用更改。您应该看到以下屏幕:

此时,两台服务器都配置为相互同步文件。每当您在第一台服务器上的共享文件夹中创建或修改任何文件时,它们都会自动同步到第二台服务器。
结论
恭喜!您已在两台 Debian 11 服务器上成功安装和配置 Syncthing,并在两台服务器之间设置同步。我希望本教程能帮助您备份您的服务器。如果您有任何问题,请随时问我。