找到
1
篇与
备份
相关的结果
-
安装 Syncthing ,实现服务器文件同步 特别声明 本文系《VPS.Town 原创文章激励计划》投稿文章,已收录于 VPS.Town 文档中心。未经 VPS.Town 书面许可,禁止一切形式的转载。 您可以在 VPS.Town 文档中心阅读原文:https://docs.vps.town/guide/how-to-install-syncthing-vps-town.html 什么是 Syncthing? Syncthing 是一个开源、免费、跨平台的点对点 (P2P) 文件同步工具。与传统的云存储服务(如 Dropbox 或 Google Drive)不同,Syncthing 的数据传输是去中心化的,直接在您控制的设备之间进行,不经过任何中央服务器。这为您提供了更高的数据隐私性和控制权。 在服务器上使用 Syncthing 可以带来诸多便利: 服务器文件备份: 将服务器上的重要配置文件、网站数据等实时同步到您的本地电脑或其他服务器。 多服务器文件分发: 如果您管理多个 VPS.Town 实例,可以使用 Syncthing 轻松地将文件或更新分发到所有实例。 构建个人同步云: 结合 VPS.Town 服务器的稳定在线特性,您可以将其作为同步网络中的一个可靠节点。 本教程将指导您在基于 Debian 12 的服务器上安装和基本配置 Syncthing。 准备工作 在开始之前,请确保您满足以下条件: 至少拥有一台运行 Debian 12 的服务器实例。 您需要同步的另一台设备(可以是本地电脑 Windows/macOS/Linux,或另一台服务器)。 具备基本的 Linux 命令行操作知识。 拥有服务器的 root 权限或 sudo 权限。 本教程明确针对 Debian 12 (Bookworm) 服务器实例 操作。Syncthing 的配置步骤在其他 Linux 发行版上基本一致,但软件包安装和防火墙配置命令可能不同。 在 VPS.Town 服务器 (Debian 12) 上安装 Syncthing 我们将使用 Syncthing 官方推荐的 APT 仓库进行安装,以确保获取最新版本。该方法在 Debian 12 上运行良好。 1. 安装依赖 (如果需要): 确保 curl 和 gpg 已安装。通常 Debian 12 默认包含,但执行一下无妨。 sudo apt update sudo apt install curl gpg -y2. 添加 Syncthing 的 PGP 密钥: sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg这条命令会下载 Syncthing 的发布密钥并保存到指定位置,用于验证软件包的真实性。 3. 添加 Syncthing 的 APT 仓库: 推荐使用 stable (稳定版) 频道。 echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list这条命令将 Syncthing 的稳定版仓库地址写入 APT 的源列表文件中。 4. 更新软件包列表并安装 Syncthing: sudo apt update sudo apt install syncthing -y首先更新本地的软件包索引,然后执行安装命令。 5. 验证安装: syncthing --version如果看到 Syncthing 的版本号输出,则表示安装成功,输出应该类似于这样: syncthing v1.29.5 "Gold Grasshopper" (go1.24.2 linux-amd64) debian@github.syncthing.net 2025-04-12 12:55:24 UTC [noupgrade]首次配置与访问 Web UI Syncthing 提供了一个基于 Web 的图形用户界面 (GUI) 来进行管理。默认情况下,它只监听本地回环地址 (127.0.0.1) 的 8384 端口,需要修改配置才能从外部访问。 1. 首次运行 Syncthing (生成配置): 在服务器上执行一次 syncthing 命令(最好是非 root 的普通用户),它会生成默认的配置文件,然后按 Ctrl+C 停止它。 syncthing #下面是我执行以后输出的最后几行 # [35WMX] 2025/04/13 21:15:25 INFO: Creating new HTTPS certificate #[35WMX] 2025/04/13 21:15:25 INFO: Ready to synchronize "Default Folder" (default) (sendreceive) #[35WMX] 2025/04/13 21:15:25 INFO: Completed initial scan of sendreceive folder "Default Folder" (default) #[35WMX] 2025/04/13 21:15:25 INFO: GUI and API listening on 127.0.0.1:8384 #[35WMX] 2025/04/13 21:15:25 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/ #[35WMX] 2025/04/13 21:15:25 INFO: My name is "HKG-A2-AF0CIDDAFCR68WMC" #[35WMX] 2025/04/13 21:15:25 WARNING: Syncthing should not run as a privileged or system user. Please consider using a normal user account.2. 确认并编辑配置文件: Syncthing 的配置文件通常位于 /用户名/.local/state/syncthing/config.xml。您可以通过以下命令确认具体路径: syncthing --paths记下 "Configuration" 对应的路径。下面以常见的 /root/.local/state/syncthing/config.xml 为例进行编辑(如果您的路径不同,请替换命令中的路径): nano /root/.config/syncthing/config.xml3. 允许远程访问 Web UI (重要!): 找到 <gui> 标签下的 <address> 行,将其内容从 127.0.0.1:8384 修改为 0.0.0.0:8384: <gui enabled="true" tls="false" debugging="false"> <address>0.0.0.0:8384</address> <!-- 修改这里 --> <!-- user 和 password 稍后在 Web UI 中设置 --> <user></user> <password></password> <apikey>...</apikey> <theme>default</theme> </gui>按 Ctrl+X,然后按 Y 保存,最后按 Enter 确认。 也可以使用一键命令来进行修改(需替换自己的路径) sed -i 's|<address>127.0.0.1:8384</address>|<address>0.0.0.0:8384</address>|g' /root/.local/state/syncthing/config.xml将 Web UI 直接监听在 0.0.0.0 (所有网络接口) 会将其暴露于公网,存在安全风险。强烈建议 采取以下至少一种安全措施: 配置防火墙: 仅允许特定可信 IP 地址访问 8384 端口。 使用 SSH 隧道: (推荐用于临时或个人访问) 这是更安全的方式,无需修改监听地址或开放防火墙。 设置反向代理: (推荐用于长期或多人访问) 使用 Nginx 或 Caddy 等设置反向代理,并配置 HTTPS 加密和访问控制。 4. 启动 Syncthing 服务 (Systemd): 为了让 Syncthing 在后台持续运行并开机自启,我们使用 systemd。将 <user> 替换为您运行 Syncthing 的用户名(必须是您生成配置文件的那个用户)。 sudo systemctl enable syncthing@<user>.service sudo systemctl start syncthing@<user>.service例如,如果您的用户名是 vpstownuser: sudo systemctl enable syncthing@vpstownuser.service sudo systemctl start syncthing@vpstownuser.service检查服务状态: systemctl status syncthing@<user>.service如果服务正常运行,您应该看到 Active (running) 的状态。 5. 访问 Web UI 并进行初始设置: 如果配置了公网访问: 在浏览器中访问 http://<你的服务器 IP>:8384。 如果使用 SSH 隧道 : 在您的 本地电脑 上打开终端,运行以下命令(将 <user> 替换为您服务器的用户名,<你的服务器 IP> 替换为实际 IP): ssh -L 8384:localhost:8384 <user>@<你的 VPS.Town 服务器 IP>保持这个 SSH 连接处于活动状态,然后在您的 本地电脑 浏览器中访问 http://localhost:8384。这种方式更安全,无需暴露端口或修改监听地址。 首次访问 Web UI 时,Syncthing 会提示您设置界面访问的用户名和密码。请务必设置一个强密码! img1.png图片 点击提示框里面的 "Settings" (设置),在 "GUI" 选项卡中设置 "GUI Authentication User" (用户名) 和 "GUI Authentication Password" (密码),然后点击 "Save" (保存)。浏览器会要求您使用新凭据重新登录。 img2.png图片 至此,安装完成 使用 下次填坑,可以参考其官方文档或移步搜索引擎。 总结 通过以上步骤,您已成功在您的 Debian 12 服务器上安装并配置了 Syncthing,并与您的本地电脑建立了一个安全、自动的文件同步通道。 Syncthing 功能强大,还支持文件版本控制、忽略规则、单向同步等高级功能,您可以进一步探索其官方文档 来满足更复杂的需求。 现在,您可以利用 Syncthing 轻松地备份服务器数据、在多设备间保持文件一致,享受去中心化同步带来的便利和安全性。