Syncthing 2.1.3 发布:修复符号链接后的 ignore 模式加载问题

2026-08-06 57 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:6 分钟

Syncthing 2.1.3 已正式发布。这是一款免费、开源的连续文件同步工具,能够让多台网络计算机直接互传文件和文件夹,不依赖中心化云存储服务。此次版本更新以问题修复为主,其中一个重要修复涉及符号链接路径后的 ignore 模式加载。

对于使用符号链接组织工作目录、配置目录或媒体目录的用户来说,这类修复并不只是边缘场景。忽略规则是否正确生效,会直接影响同步范围、网络流量以及目标设备上的目录内容。

这次更新解决了什么

根据发布摘要,Syncthing 2.1.3 主要包含以下修复:

  • 修复 ignore 和文件系统处理相关问题,使程序能够加载符号链接后面的 ignore 模式。
  • 修复扫描文件时可能出现的问题,避免扫描过程中的异常行为。

ignore 文件通常用于排除临时文件、构建产物、缓存和本地配置。例如,一个项目目录可能包含源代码和依赖目录,但用户只希望同步源代码:

# .stignore
.git
node_modules
__pycache__
*.tmp
.env.local

当被同步的目录通过符号链接指向另一个实际目录时,忽略规则的解析就更容易暴露路径处理问题。升级到 2.1.3 后,建议重新检查这些目录的同步状态,确认不应同步的内容仍然被排除。

Syncthing 的同步模型

Syncthing 的数据传输发生在参与同步的设备之间。文件不会因为使用 Syncthing 就自动上传到某个第三方云端,这使它适合以下场景:

  • 在笔记本和台式机之间同步工作目录。
  • 在家庭服务器和个人电脑之间同步照片或文档。
  • 在多台内网设备之间分发配置、脚本和资料。
  • 在不希望依赖公共云盘的环境中建立点对点文件同步。

不过,“直接传输”和“备份”不是同一个概念。如果文件在一台设备上被删除或覆盖,变化可能会同步到其他设备。因此,重要数据仍应配合版本控制、快照或独立备份使用。

一个可改造的本地启动示例

下面的命令适合在 Linux 或 macOS 上快速创建一个独立的 Syncthing 配置目录并启动服务。运行前请确认已经安装了 syncthing,并根据实际路径修改目录:

set -eu

CONFIG_DIR="$HOME/.config/syncthing-work"
SYNC_DIR="$HOME/Sync/work"

mkdir -p "$CONFIG_DIR" "$SYNC_DIR"

# 第一次运行时生成独立配置;目录已有配置时不会重复生成
if [ ! -f "$CONFIG_DIR/config.xml" ]; then
  syncthing -generate="$CONFIG_DIR"
fi

# 启动后可通过 Web 界面完成设备配对和文件夹配置
syncthing -home="$CONFIG_DIR" -no-browser

启动后,在 Web 界面中添加远程设备,并将本地目录配置为 SYNC_DIR。如果该目录下存在 .stignore,可以先使用最小规则验证行为:

# $HOME/Sync/work/.stignore
*.tmp
.cache
build/

使用符号链接时,可以这样准备测试目录:

mkdir -p "$HOME/Sync/real-work/build" "$HOME/Sync/real-work/docs"
ln -sfn "$HOME/Sync/real-work" "$HOME/Sync/work-link"
printf 'build/\n*.tmp\n' > "$HOME/Sync/real-work/.stignore"
printf 'temporary\n' > "$HOME/Sync/real-work/test.tmp"

实际部署时,应在 Syncthing 界面中明确选择需要同步的真实目录或符号链接目录,并观察扫描结果。不要仅凭目录名称判断规则已经生效;可以在同步双方检查被排除文件是否仍然出现在待同步列表中。

升级后的检查清单

升级到 2.1.3 后,可以按下面的顺序验证:

  1. 确认所有参与同步的设备都已升级,避免不同版本长期混用。
  2. 检查包含符号链接的同步目录,确认目录扫描能够完成。
  3. 检查 .stignore 中的目录、通配符和文件名规则是否仍按预期工作。
  4. 观察同步状态,确认没有意外的大批量文件变更。
  5. 对重要目录保留独立备份或历史版本。

Syncthing 2.1.3 的重点是稳定性修复,而不是引入新的同步模型。对于已经运行 Syncthing 的用户,升级后重点关注符号链接目录和忽略规则即可;对于刚开始使用的用户,则应先用小规模测试目录验证设备配对、忽略模式和冲突处理,再扩展到真实数据。


相关推荐