iCloud Drive自动同步本地文件夹

例如,在两台Mac上写blog,需要同步_posts文件夹。网上诸多解决方案,例如新开git分支,甚至写个小程序来同步,hexo g -d发布完blog还需要敲几个命令或开小程序来同步,都稍嫌麻烦。直接修改hexo g -d命令的任务,让它带上git同步或者启动同步小程序也可以,这就需要去改动源码了。有没有更简捷的方式,例如利用iCloud来自动同步_posts目录?

百度iCloud Drive同步指定目录,并没有查到方案(也可能是百度不行)。又不想同步整个Documents这样的大文件夹。

尝试在hexo blog目录下的_posts文件夹上右键 - Make Alias,得到一个Alias文件,把这个文件拖动到iCloud Drive里面,实际上这种方案不可行,它同步的仅仅是一个Alias文件,而且Alias文件只适用一台电脑。同理,建立一个指向_posts文件夹的软链接,然后把这个软链接扔到iCloud里面也是不可行的。

把Finder - iCloud Drive目录中的文件拖动到Terminal中,得到iCloud的本地路径,/Users/zzz/Library/Mobile Documents/com~apple~CloudDocs,然后把hexo blog目录下的_posts文件夹copy到这个目录里面(可以重命名,例如改成tracenote),删掉hexo blog目录下的_posts文件夹,在此被删除_posts文件夹的目录中做个软链接指向iCloud本地目录中的文件夹即可,ln -s ~/Library/Mobile\ Documents/com~apple~CloudDocs/docs/tracenote _posts。问题解决。


总结一下,就是需要同步的文件夹直接放入iCloud Drive对应的本地目录中,然后在需要此文件夹的路径下建立一个软链接指向iCloud Drive本地目录的目标文件夹。最好本地再备份一下,iCloud Drive用的少,是否丢文件未知,有什么副作用未知。