# 适用场景
在不同电脑上进行文件夹的同步,在同一电脑上进行文件夹的同步。
# 写作背景
个人拥有两台电脑,一个 thinkbook,一个 MacBook。thinkbook 作为主力机,奈何续航不太行,于是入手了 MacBook。然而,随机使用哪台电脑在对同一文件的操作上总会遇到同步的麻烦,总不可能通过类似 qq 传文件的方式,每次都传吧。
除了文件的同步问题外,还有一个博客笔记的协作问题。如下图的完整的博客文件夹中,只有 _posts 子文件夹下是存放 Markdown 笔记的,其他的是构建博客的文件,特别是 public 目录下,是将 md 文件生成的 html 文件存放的位置,并且将所有的图片文件转移到此目录下。如果同步整个博客文件夹,得有好几个 G,并且每次生成 html 文件后都会触发实时同步,带来麻烦。

- <a src="./images/note/1677857181411.png" width="60%">
# 使用工具
- 百度云盘
- freefilesync
原因分析:之前试过坚果云之类的其他软件,发现不太行,对于一些特殊格式的文件还是备份不了。并且免费版的容量只有 1G。(小厂吧)
其实之前尝试过使用 git,每次都需要 add、push、commit 和 pull,对于频繁的写笔记操作,方式不太可取,并且一旦放了大文件, .git 文件也将会变得超级大。
# 操作过程
# 同一电脑上的文件同步(freefilesync)
下载地址:https://freefilesync.org/
下载下来的时候会有两个执行文件,FreeFileSync 和 RealTimeSync,FreeFileSync 用来指定同步操作并导出批处理作业,RealTimeSync 用来监视文件夹的变化并自动执行批处理作业
# 指定同步的两个文件夹
优点:不需要额外建立文件夹,直接指定两个需要进行同步的文件夹即可。
指定需要同步的两个文件夹:


另存为批处理作业 可用于实时检测处理。

设置实时监测文件变化并自动执行批处理作业。


# 不同电脑上的文件同步
此处尚未尝试使用云盘,本来想用 FreeFileSync 连接 Google Drive 的,然后发现无论是否使用科学上网,都连接不上,但是当初使用 iCloud 进行 MacBook 和 ipad 进行 goodnote 笔记同步的时候,就觉得挺慢的。
然后就使用了大厂百度的百度云盘 svip。
缺点:需要设置一个文件夹作为同步空间,并且这个文件夹的名字得为 BaiduSyncdisk ,且不能更改。
上述缺点就使得无法在两台电脑上仅同步 Markdown 笔记的文件夹。

# 最后结果
MacBook 和 thinkbook 之间通过百度云盘同步 Markdown 笔记文件夹 _posts ,thinkbook 内通过 freefilesync 同步 BaiduSyncdisk 内的 _posts 和博客文件夹下的 _posts
# 锁问题
# 问题描述

因为这里涉及到中间文件的多进程同时读取,
百度云盘在上传 / 下载文件的时候会生成一个中间文件,这个文件在被 freefilesync 同步的时候会发生锁问题。

# 问题解决
freefilesync 中可以设置 exclude,过滤掉不备份的文件。