Mutagen 实时双向同步教程:Ubuntu ↔ Windows 10

一、教程背景与目标

场景说明

  • 本地:Windows 10 电脑

  • 远程:Ubuntu 服务器(IP:192.168.100.19,用户:cb)

  • 目标目录:

    • Windows:D:\project(代码文件放在这里)

    • Ubuntu:/home/cb/nfs(代码运行环境)

  • 同步模式:双向实时同步(在 Windows 修改文件,Ubuntu 自动同步;反之亦然)

为什么用 Mutagen?

  • ✅ 彻底告别 SSHFS 的权限问题(EPERM、workaround=rename 等)

  • ✅ 无需挂载网络磁盘,操作本地文件夹即可

  • ✅ 断网自动重连,数据更安全

  • ✅ 真正的双向同步,不是单向挂载


二、准备工作检查清单

在开始之前,请确认以下事项都已就绪:

检查项验证命令状态
Ubuntu 是否可 ping 通ping 192.168.100.19✅ 已通
Windows SSH 是否能登录 Ubuntussh cb@192.168.100.19✅ 可登录
Mutagen 是否已下载D:\mutagen\mutagen.exe --version⚠️ 待确认
目标目录是否存在Windows: D:\project
Ubuntu: /home/cb/nfs
⚠️ 待创建

如果 SSH 登录还需要输入密码,建议先配置 SSH 密钥免密登录(可选,但强烈推荐)。


三、安装 Mutagen(Windows 端)

3.1 下载 Mutagen

  1. 访问 Mutagen 官方 GitHub Releases 页面

  2. 找到最新版本(如 v0.18.1)

  3. 下载 mutagen_windows_amd64_v0.18.1.zip(64位系统)

3.2 安装

# 在 D 盘创建 mutagen 文件夹
mkdir D:\mutagen

# 将下载的 zip 文件解压到 D:\mutagen
# 解压后,D:\mutagen 目录下应该有一个 mutagen.exe 文件

3.3 验证安装

打开命令提示符(cmd),执行:

D:\mutagen\mutagen.exe --version

如果显示版本号(如 mutagen version v0.18.1),说明安装成功。


四、启动 Mutagen 守护进程

Mutagen 需要在后台运行一个守护进程来处理同步任务:

D:\mutagen\mutagen.exe daemon start

成功后会显示:

Mutagen daemon started

小贴士:守护进程开机不会自动启动,建议将上面的命令加到开机启动脚本中,或者每次同步前手动启动。


五、配置 SSH 环境变量

使用系统自带的 OpenSSH(C:\Windows\System32\OpenSSH\ssh.exe),但一些教程提到 Mutagen 对 Windows 原生 SSH 的支持可能不如 Git 自带的 SSH 稳定。为了确保兼容性,我们采用最稳妥的方案:

方案 A:使用 Git for Windows 的 SSH(推荐)

  1. 安装 Git for Windows(如果还没安装):

  2. 设置环境变量,告诉 Mutagen 使用 Git 的 SSH:

    set MUTAGEN_SSH_PATH=C:\Program Files\Git\usr\bin

    注意:这个设置只对当前命令提示符窗口有效。每次打开新窗口都需要重新设置,或者按下面的方法永久设置。

方案 B:永久设置环境变量

  1. 右键点击 “此电脑” → “属性” → “高级系统设置”

  2. 点击 “环境变量”

  3. 在 “系统变量” 区域点击 “新建”

  4. 变量名:MUTAGEN_SSH_PATH

  5. 变量值:C:\Program Files\Git\usr\bin

  6. 点击“确定”保存,然后重新打开命令提示符

方案 C:如果坚持使用 Windows 原生 SSH

如果你不想安装 Git,也可以试试直接用 Windows 的 SSH:

set MUTAGEN_SSH_PATH=C:\Windows\System32\OpenSSH

根据之前的一些用户反馈,这个方案有时会遇到代理部署问题,如果后续同步失败,可以切换回方案 A。


六、创建同步会话

6.1 准备目录

在 Windows 上创建本地项目目录:

mkdir D:\project

在 Ubuntu 上确认目录存在(如果之前没有,可以创建):

# 在 Ubuntu 上执行
mkdir -p /home/cb/nfs

6.2 执行同步创建命令

现在,用一条命令创建双向同步会话:

D:\mutagen\mutagen.exe sync create \
  --name=ubuntu-sync \
  D:\project \
  cb@192.168.100.19:/home/cb/nfs

命令解析:

  • --name=ubuntu-sync:给这个同步会话起个名字,方便后续管理

  • D:\project:Windows 端的本地目录

  • cb@192.168.100.19:/home/cb/nfs:远程 Ubuntu 的目录(格式:用户名@IP:路径)

6.3 首次执行时的情况

第一次执行时,你会看到:

? Are you sure you want to continue connecting? (yes/no)

输入 yes 确认主机指纹。

然后会提示输入密码(如果没配置 SSH 密钥):

cb@192.168.100.19's password:

输入密码后,同步会话就创建成功了!

成功创建后,Mutagen 会显示会话的详细信息,包括状态(应为 Watching)。


七、验证同步是否正常工作

7.1 查看同步状态

D:\mutagen\mutagen.exe sync list

应该能看到类似这样的输出:

Name: ubuntu-sync
Identifier: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Alpha: D:\project
Beta: cb@192.168.100.19:/home/cb/nfs
Status: Watching

7.2 测试同步

  1. Windows → Ubuntu:

    • 在 D:\project 下新建一个文件,比如 test.txt

    • 在 Ubuntu 上查看:ls /home/cb/nfs,应该能看到这个文件

  2. Ubuntu → Windows:

    • 在 Ubuntu 上执行:echo "hello" > /home/cb/nfs/from_ubuntu.txt

    • 在 Windows 上查看 D:\project,应该能看到 from_ubuntu.txt

7.3 实时监控同步(可选)

D:\mutagen\mutagen.exe sync monitor ubuntu-sync

这个命令会实时显示同步事件,按 Ctrl+C 退出。


八、日常管理命令

8.1 查看所有会话
mutagen sync list

8.2 暂停同步
mutagen sync pause ubuntu-sync

8.3 恢复同步
mutagen sync resume ubuntu-sync

8.4 强制刷新同步
如果觉得同步有延迟,可以强制刷新:

mutagen sync flush ubuntu-sync

8.5 终止同步(删除会话)
mutagen sync terminate ubuntu-sync

8.6 停止守护进程
mutagen daemon stop

九、高级配置(可选)

9.1 单向同步模式

如果你只想从 Windows 同步到 Ubuntu(防止 Ubuntu 上的改动影响 Windows):

mutagen sync create --name=ubuntu-sync -m one-way-safe D:\project cb@192.168.100.19:/home/cb/nfs

-m one-way-safe 表示单向安全同步。

9.2 设置忽略文件

创建一个配置文件 D:\project\.mutagen.yml:


ignore:
  - node_modules/
  - .git/
  - *.tmp
  - .idea/

这样 node_modules、.git 等目录就不会被同步。

9.3 处理文件权限

如果 Ubuntu 上的文件需要特定权限,可以在创建会话时指定:

mutagen sync create --name=ubuntu-sync ^
  --default-file-mode=0644 ^
  --default-directory-mode=0755 ^
  D:\project cb@192.168.100.19:/home/cb/nfs

十、常见问题排查

问题1:同步卡在 "Probing endpoint (POSIX)..."

原因:SSH 连接正常,但 Mutagen 无法在远程部署代理程序

解决方法:

  • 检查 MUTAGEN_SSH_PATH 设置是否正确

  • 尝试切换到 Git 的 SSH(如果正在用 Windows 原生 SSH)

  • 在 Ubuntu 上检查 /home/cb 目录权限:chmod 755 /home/cb

问题2:同步速度慢

原因:可能是网络问题或同步的文件太多

解决方法:

  • 检查网络连接

  • 在 .mutagen.yml 中添加忽略规则,排除不需要同步的目录

问题3:电脑重启后同步不工作

原因:Mutagen 守护进程没有自动启动

解决方法:

cmd

# 重新启动守护进程
mutagen daemon start

# 查看现有会话(应该还在)
mutagen sync list

# 如果会话没了,重新创建即可
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐