虚机里的markdawn文件同步
# 庸人自扰之
眼看30系显卡矿难就过去了,本来想换台40系游戏本的,但没想到13代CPU与40系显卡两个BUFF叠在一起,就没办法愉快地玩耍了。老黄的刀法实在是太精准了,笔记本上的4090用的是台式机4080的规格,性能与依托答辩的台式机4070TI差不多,但这个4070TI台式机与4090笔记本的差价至少在6K往上,看着这个差价不如弄个台式机+个5K的笔记本来得实惠。
现在不管是vuepress还是hexo都是在现在的笔记本上虚机里的centos8上运行的,如果在以后新增的台式机上也要能编写新的文章,两台机器上的文件同步是个问题。
想了几个方案:
- 把编译发布迁回VPS上
- 每次把写完的文件同步到VPS上,在另1台电脑上编写前先从VPS上取回
- 虚机里的文件落到windows电脑上,利用网盘的同步工具进行同步
首先,第2个方案,至少得加2个脚本,1个是取回脚本——这个得配个开机启动或者是手动执行,另1个是推送脚本——这个可以在发布脚本里加上调用,但同步用rsync的话如果是rsync服务还得考虑安全性问题,用ssh就得配免密。要做的事有点多,所以先pass。
其次,第1个方案,万一以后换个vps,不仅是nginx重新部署,连vuepress、hexo也得再搞一遍,感觉不是太划算。
最后,第3个方案,利用vmware workstation自带的共享文件夹功能+软链接,就可以把markdown文件全部交由网盘进行同步,作为网盘VIP用户,感觉这个方案还挺好的。
# 实施
# 共享文件夹
可以参考vmware的官方文档进行操作,网上的指导也挺多的,比如这篇《VMware中Linux虚拟机挂载主机共享文件夹的方法》
在安装了vmware-tools的情况下,任意linux用户执行vmware-hgfsclient命令都可以看到已添加的共享目录。这里是添加了hexo与vuepress的目录
root@DEV:[/root]vmware-hgfsclient
hexo
vuepress
root@DEV:[/root]cd /mnt/hgfs/
root@DEV:[/mnt/hgfs]ll
total 4
drwxrwxrwx. 1 root root 4096 2023-02-19 16:30 hexo
drwxrwxrwx. 1 root root 0 2023-02-19 16:34 vuepress
2
3
4
5
6
7
8
可以看出文件所有者是root,权限是777,所以任意用户都可以读写添加的共享目录
# 替换hexo文档目录
我这的hexo是部署在hexo用户下的hexo目录中,包含markdown及媒体的目录为/home/hexo/hexo/source,只需以hexo用户执行如下命令即可以将文件全部迁移至共享目录hexo中
cd /home/hexo/hexo
cp -r source /mnt/hgfs/hexo
mv source source.bak
ln -s /mnt/hgfs/hexo/source /home/hexo/hexo/source
2
3
4
hexo目录中有软链接,直接复制整个目录到共享目录中会有部分报错,故不建议整个目录复制
# 替换vuepress文档目录
我这的vuepress是部署在vuepress用户下的blog目录中,包含markdown及媒体的目录为/home/vuepress/blog/docs,只需以vuepress用户执行如下命令即可以将文件全部迁移至共享目录vuepress中
cd /home/vuepress/blog
cp -r docs /mnt/hgfs/vuepress
mv docs docs.bak
ln -s /mnt/hgfs/vuepress/docs /home/vuepress/blog/docs
2
3
4
# 开启网盘同步
百度网盘开启网盘同步可以看这篇文章《Windows同步空间帮助中心》
中国移动云盘开启网盘同步可以看这篇文章《自动同步盘:多端双向同步,帮您背包减负》
选任意一家开启同步,然后就可以在别的电脑上同步看到markdown文件了
🌻🌻🌻