博客源码备份的两三事
相信大多数玩 Hexo 博客的友人都是用的 git 系的托管平台(例如 GitHub Gitee Coding 之类的)吧?
本文部分内容可能已经过时,请以 博客备份 的最新文章为准(
但是,当某次我们迁移了一下平台,通过 GitHub 恢复博客源码的时候,就会发现一个惊恐的问题
迫 真 惊 恐
那就是,你的博客文章时间会出错。我在 记录下这段时间在做什么|流水账 | Leao’s Blog | Leao的博客 中就已经提过一嘴,简单说就是博客的文章显示为错误的更新时间。
怀着解决问题的、对问题保持敬意的心情,我开始了本次寻找解决方法的历程。
但既然更新时间的错误已经发生,索性就不再追求去修改这个时间了,以免弄巧成拙,反而造成更多的错误。主要解决的是如何避免这个错误再次发生。
解决历程
大佬们给的解决方法是在写的文章后加一个 updated 的 tag
但是呢,私は思う,这对于我这种懒人来说,还不如继续摆烂。(开摆!)
所以为了方便摆烂,我写了个 bat,将文章和博客源码分离备份,这样就能曲线救国地解决这个问题了,毕竟其他文件对时间戳又没有那么敏感。
摆烂方法
我这里采用的是 RCLONE + STORJ 的方法来备份文章的(其他的也彳亍,稍微改一下命令就行)
STORJ 已经把文档写好了,稍微看一下就大概知道怎么配置了
Sync Files With Rclone | Storj Docs
屏蔽 source 目录
然后将 source 目录临时移出 Hexo 源码目录,使用 git 提交一个 commit 并 push。
再将 source 目录移回来,编辑下 .gitignore
文件,添加一行 source/
写个备份脚本
使用 RCLONE 查看备份目标有哪些目录,将 hexo-blog
替换成 RCLONE 配置的名称
1 | rclone lsf hexo-blog: |
例如我想要把文章备份到 hexo-source/ 中去,其他的博客源码备份到 GitHub,就可以这么写
新建一个文件,将其命名为 backup.bat,写入以下内容
1 | git add . && git commit -m "Update" && git push |
当写完一篇文章,想要备份时,就可以打开一下,一键备份,轻松快捷
恢复时可以写个 recover.bat,在配置过 RCLONE 和 SSH 公钥之类的之后,向其中写入如下内容,将 hexo-blog
替换成 RCLONE 配置的名称
1 | git clone 你的博客源码项目 blog |
然后运行,就会在 blog 目录里正常恢复了
最重要的是,这种方法不是很复杂,而且时间不会出什么问题