Windows和Mac之间同步文件夹

背景介绍

我的主力机是 MBP 16" 2019,平时用来看文献、写文章、写写测试代码、休闲娱乐 。办公室有一台 Win10 台式机,主要用来跑代码。由于需要运行一些需要跑很长时间的程序,所以常年不关机,想起来了或者出问题了才重启一下。

平时我在办公室,用 USB 对考线连接这两台电脑,就可以用一套键鼠控制它们,虽然有延迟和卡顿,但可以接受。如果不在学校需要查看办公室 Win10 上面的东西,就用 TeamViewer 远程连接。

这种操作,学期内是没有问题的,但如果放假了,办公室没人,万一办公室台式机出问题, TeamViewer 连不上,而我又急需查看或者操作上面的东西,就束手无策了。

于是想到一个方案:将 Win10 上的代码文件夹与 MBP 的文件夹(实时)同步,Win10的文件夹里的内容发生了改变,MBP上的也相应改变。这样就可以平时 TV 连接 Win10,代码在上面跑,如果连接出问题,还可以退而求其次,在MBP上跑。

用 FreeFileSync 同步两个文件夹

查资料发现,用 FreeFileSync 可以将两个文件夹实时同步。

但如果想让不同电脑上的文件夹同步,还需要一个桥梁,于是我在云服务器上搭建了一个FTP服务。

这样,Win10 和服务器双向同步,MBP也和服务器双向同步,就实现了目的。

在云服务器搭建 FTP

搭建方式主要参考了:

https://www.imooc.com/article/68351 和 https://www.linuxprobe.com/centos7-ftp.html

当然还有别的。

为什么不用云服务,如 Onedrive?

第一点是不想占用云空间,虽然我 1T 的 Onedrive 空间还没用多少;其次是云的速度比较难讲,有时候会很慢。另外,云是订阅制的,有时间限制,总感觉不踏实。

但云也是个解决方案,如果图省事也是可以用云的。

现在文件正在从 Win10 向服务器传,希望这套方案能完美工作!

Update

然而这个方案并不能完美……主要问题是某些隐藏文件夹同步不顺利,比如.git等。好像已经上传到服务器里面了(至少有一部分),但 FreeFileSync 并不能识别到。折腾了一会儿,累了,作罢。

最后还是用了 OneDrive。在 Win10 上,如果想要用 OneDrive 同步不在其文件夹下的文件(夹),需要用 mklink 命令,如:

1
mklink /d "E:\OneDrive\Album" "E:\Album"

OneDrive 真香。