上篇文章整理了一下博客的评论系统,而现在我需要一个稳定好用的博客数据备份方案。
老生常谈的321原则,即至少保留3个备份副本,使用2种不同的储存介质,并将其中1个备份存储在远离数据源的地方。
最开始我考虑用Github Action构建一个Workflow来实现在每次commit自动将仓库内的文件同步在OneDrive中。
但后来想想这种方法局限性很大。首先这样做只能备份已发布的文章和页面,对于博客的草稿,主题文件,package.json,_config.cml
这些同样重要的文件并没有保存的方法。而且十分受限于Github平台。
因此我开发了一个Hexo插件用于实现多平台备份,项目GitHub仓库:HelloLingC/hexo-auto-backup (github.com)
此插件可以在执行 hexo deploy 命令时自动根据配置将source, themes, package.json, _config.yml
同步在其他的本地磁盘(如USB),或云盘之中。
借助rclone,支持所有主流的云盘,OneDrive, Google Drive, Pikpak等等,同时也支持SMTP, FTP, HTTP等协议。 详细可以查看插件的readme
安装插件的方法很简单,和大部分的插件一样用npm:
npm install hexo-auto-backup
目前还仍需改善:
- Expire 的设置,即设置每个备份最大保留时间,如30天
- 多系统支持,目前只支持Windows