同步方案
概述
Obsidian 提供多种同步方案,满足不同用户的需求:
| 方案 | 特点 | 适用场景 | 费用 |
|---|---|---|---|
| Obsidian Sync | 官方服务,端到端加密 | 追求稳定和便捷 | 付费 |
| iCloud | 苹果生态系统 | Apple 设备用户 | 免费 |
| Git | 版本控制 | 技术用户 | 免费 |
| 云盘服务 | 通用方案 | 已有云盘订阅 | 视云盘而定 |
| Remotely Save | S3/WebDAV | 自建同步服务 | 免费 |
| Syncthing | P2P 同步 | 注重隐私 | 免费 |
Obsidian Sync(官方方案)
详细教程
查看 同步核心插件 了解完整的配置选项、版本历史和故障排查方法。
特点
- 端到端加密:只有你能读取笔记内容
- 历史版本恢复:保留 1 年的版本历史
- 多设备同步:支持桌面端和移动端
- 选择性同步:可指定同步的文件夹
- 实时同步:编辑后立即同步
设置步骤
首次配置
- 订阅 Obsidian Sync 服务(包含在 Catalyst/Commercial 许可中)
- 打开设置 → 核心插件 → 同步
- 启用同步插件
- 登录 Obsidian 账户
- 选择或创建远程仓库
- 开始同步
在新设备上连接
- 安装 Obsidian 并登录账户
- 创建新仓库时选择「连接远程仓库」
- 选择要连接的仓库
- 等待同步完成
配置选项
yaml
同步设置:
选择性同步:
- 选择要同步的文件夹
- 排除特定文件或文件夹
同步选项:
- 设置同步频率(自动/手动)
- 配置冲突处理策略
- 设置附件大小限制
历史版本:
- 保留版本数量
- 版本保留时间故障排查
同步卡住
- 检查网络连接
- 尝试暂停并恢复同步
- 检查是否有大文件正在上传
- 查看 Obsidian Sync 日志
版本冲突
设置 → 同步 → 历史版本
可查看和恢复历史版本文件未同步
- 检查文件是否在排除列表中
- 检查文件大小是否超限
- 检查同步状态指示器
iCloud 同步
macOS/iOS 设置
创建仓库
将仓库创建在 iCloud 目录下:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/具体步骤
- 打开 Obsidian
- 创建新仓库
- 选择路径为 iCloud 下的 Obsidian 目录
- 在 iOS 设备上打开相同位置
注意事项
iCloud 限制
- 同步大文件可能较慢
- 文件数量过多时可能出问题
- 不支持 Windows 和 Android
- 可能产生
.icloud占位文件
常见问题
.icloud 文件问题
iCloud 有时会将文件替换为占位符:
bash
# 强制下载所有文件
cd ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/
find . -name "*.icloud" -exec brctl download {} \;同步延迟
- 确保设备联网
- 检查 iCloud 存储空间
- 重启 iCloud 同步服务
Git 同步
初始化仓库
bash
# 进入仓库目录
cd /path/to/vault
# 初始化 Git 仓库
git init
# 创建 .gitignore
cat > .gitignore << 'EOF'
# Obsidian 工作区配置(设备特定)
.obsidian/workspace.json
.obsidian/workspace-mobile.json
# 缓存和垃圾文件
.obsidian/graph.json
.obsidian/cache
.trash/
# 系统文件
.DS_Store
Thumbs.db
*.tmp
EOF
# 提交初始文件
git add .
git commit -m "Initial commit"
# 添加远程仓库
git remote add origin https://github.com/username/vault.git
git branch -M main
git push -u origin main自动同步脚本
创建同步脚本 sync.sh:
bash
#!/bin/bash
# Obsidian Git 自动同步脚本
cd /path/to/vault
# 检查是否有更改
if [ -n "$(git status --porcelain)" ]; then
git add .
git commit -m "Auto sync: $(date '+%Y-%m-%d %H:%M:%S')"
git pull --rebase
git push
fi配置定时任务
bash
# 编辑 crontab
crontab -e
# 每 5 分钟同步一次
*/5 * * * * /path/to/sync.sh >> /path/to/sync.log 2>&1Obsidian Git 插件
安装配置
- 在插件市场搜索「Obsidian Git」
- 安装并启用
- 配置自动备份间隔
推荐配置
yaml
Obsidian Git 设置:
自动备份:
- 备份间隔: 5 分钟
- 提交信息: "auto backup: {{date}}"
自动拉取:
- 启动时拉取: 开启
- 拉取间隔: 5 分钟
冲突处理:
- 自动合并: 开启
- 推送前拉取: 开启Git 同步最佳实践
提交策略
bash
# 有意义的提交信息
git commit -m "feat: 添加阅读笔记模板"
git commit -m "fix: 更正错别字"
git commit -m "docs: 更新项目文档"分支策略
bash
# 创建实验分支
git checkout -b experiment/new-structure
# 合并到主分支
git checkout main
git merge experiment/new-structure云盘服务同步
支持的云盘
| 云盘 | 协议 | 推荐指数 |
|---|---|---|
| Dropbox | 原生 | ⭐⭐⭐⭐ |
| Google Drive | 原生 | ⭐⭐⭐ |
| OneDrive | 原生 | ⭐⭐⭐ |
| 坚果云 | WebDAV | ⭐⭐⭐⭐ |
| 阿里云盘 | 原生 | ⭐⭐ |
| 百度网盘 | 原生 | ⭐⭐ |
设置方法
- 将仓库放在云盘同步目录下
- 确保云盘客户端在所有设备上运行
- 等待同步完成
排除配置
重要警告
- 避免多设备同时编辑同一文件
- 配置云盘排除
.obsidian/workspace.json - 注意文件冲突处理
Dropbox 排除
bash
# 使用 Selective Sync 排除
# 或在 Dropbox 网页版设置坚果云 WebDAV 配置
yaml
服务器地址: https://dav.jianguoyun.com/dav/
用户名: 你的邮箱
密码: 应用密码(在坚果云设置中生成)Remotely Save 插件
支持的后端
- Amazon S3
- S3 兼容服务(阿里云 OSS、腾讯云 COS、MinIO)
- WebDAV
- OneDrive
- Dropbox
配置步骤
- 安装「Remotely Save」插件
- 打开插件设置
- 选择远程服务类型
- 配置连接参数
- 启用自动同步
S3 配置示例
AWS S3
yaml
Endpoint: https://s3.amazonaws.com
Region: us-east-1
Bucket: your-bucket-name
Access Key: your-access-key
Secret Key: your-secret-key
Prefix: obsidian-vault/阿里云 OSS
yaml
Endpoint: https://oss-cn-hangzhou.aliyuncs.com
Region: oss-cn-hangzhou
Bucket: your-bucket-name
Access Key: your-access-key-id
Secret Key: your-access-key-secret
Prefix: obsidian/WebDAV 配置示例
yaml
Server URL: https://dav.example.com/path
Username: your-username
Password: your-passwordSyncthing 同步
特点
- P2P 同步:设备间直接同步,无服务器
- 开源免费:完全开源,无订阅费用
- 端到端加密:数据传输加密
- 跨平台:支持 Windows、macOS、Linux、Android
配置步骤
- 安装 Syncthing 客户端
- 在两台设备上配置同步文件夹
- 交换设备 ID 建立连接
- 开始同步
推荐配置
yaml
Syncthing 设置:
文件夹类型:
- 发送仅接收(主设备)
- 发送接收(其他设备)
版本控制:
- 启用简单版本控制
- 保留版本数: 5
忽略模式:
- .obsidian/workspace.json
- .trash/同步最佳实践
避免冲突
- 单一设备原则:避免同时编辑同一笔记
- 同步习惯:切换设备前先同步
- 冲突解决:了解各方案的冲突处理机制
备份策略
yaml
推荐策略:
即时备份:
- 使用 Git 版本控制
- 定期推送到远程仓库
定期备份:
- 导出完整仓库
- 存储到多个位置
异地备份:
- 使用云存储服务
- 保留多个历史版本性能优化
- 排除不必要的文件(如
.trash) - 压缩图片附件
- 限制同步文件大小
- 使用
.gitignore或同步排除列表
移动端同步
iOS
| 方案 | 推荐程度 | 说明 |
|---|---|---|
| Obsidian Sync | ⭐⭐⭐⭐⭐ | 最稳定可靠 |
| iCloud | ⭐⭐⭐⭐ | 苹果生态原生支持 |
| Remotely Save | ⭐⭐⭐ | 支持多种后端 |
注意事项:
- iOS 后台同步有限制
- 确保在前台完成同步
- 定期检查同步状态
Android
| 方案 | 推荐程度 | 说明 |
|---|---|---|
| Obsidian Sync | ⭐⭐⭐⭐⭐ | 最稳定可靠 |
| Syncthing | ⭐⭐⭐⭐ | P2P 同步,注重隐私 |
| Remotely Save | ⭐⭐⭐⭐ | 支持多种后端 |
| Git | ⭐⭐⭐ | 需要 Termux 或插件 |
同步方案对比
功能对比
| 功能 | Obsidian Sync | Git | 云盘 | Remotely Save |
|---|---|---|---|---|
| 端到端加密 | ✅ | ⚠️ | ❌ | ⚠️ |
| 版本历史 | ✅ | ✅ | ⚠️ | ❌ |
| 实时同步 | ✅ | ❌ | ✅ | ⚠️ |
| 冲突处理 | ✅ | ✅ | ❌ | ⚠️ |
| 免费使用 | ❌ | ✅ | ⚠️ | ✅ |
| 技术要求 | 低 | 高 | 低 | 中 |
选择建议
yaml
推荐选择:
追求稳定:
- Obsidian Sync(首选)
技术用户:
- Git(版本控制需求)
- Syncthing(注重隐私)
节省成本:
- iCloud(Apple 用户)
- 坚果云 WebDAV
- Syncthing
多平台:
- Obsidian Sync
- Remotely Save