Hexo 博客备份方案
前言
数据无价,尤其是对于服务器维护人员而言,一个不小心的 rm -rf /*
就足以让多年的心血付诸一炬,因此定期的备份是十分有必要的。好在Hexo基于Node.js,大量的依赖都可以根据package.json
中的内容通过npm install
直接生成,因此Hexo的备份十分轻量化。
对于备份的目的地,我选择的是国内服务商提供的对象存储:COS
与OSS
,他们提供的对象存储服务都是S3兼容模式的,可以适配大多数备份软件,后续使用更加便利。
最后是软件选择,Linux用户可以简单写一个定期备份脚本或者使用诸如oneinstack
内置脚本。由于我本人博客是放置在Windows上的,最后我选择使用Iperius Backup
软件进行备份。
我们的备份思路如下:
- 分析需要备份的文件
- 选择备份目的地:对象存储
- 利用工具进行定期备份:Iperius Backup
备份过程
文件分析
1 | λ ls -al |
云端创建对象存储
创建存储桶
这里我们以阿里云OSS
为例,创建一个存储桶:
- Bucket 名称:存储桶名称
- 地域:国内速度访问速度较快,但须备案;国外地区速度较慢,但无需备案
- Endpoint:访问入口点,后续备份软件需要使用
- 读写权限:私有
新建访问密钥
有两种方式创建所需的访问密钥:
阿里云访问控制: https://ram.console.aliyun.com/manage/ak
该方法将直接创建一个能够全局控制云服务器的访问密钥,如果泄露则后果不堪设想,因此通常不推荐使用!
阿里云子账户: https://ram.console.aliyun.com/overview
比起AccessKey全局授权的方式,我个人更推荐新建一个只有对象存储访问权限的子账户,并使用其API进行访问,将权限限制在必须范围内,以减轻泄露后的损失。
新建用户
授予权限
软件使用
本例中使用的备份软件是Iperius Backup,使用版本为7.5.0
。这里吐槽一下,5.8.0
版本的算号器居然还能够对最新版生效….
新建备份,设定排除文件:
添加云端目的地
启动备份计划,每天八点执行
后记
一个简单的备份方案已经初步完成了,考虑到现有不足,后续优化方案如下:
- 设置多个备份目的地,提高数据稳固性
- 记录相对原主题文件有过修改的文件,适配后续更新
参考资料:
- Hexo 博客备份与恢复
- 阿里云帮助中心
- Iperius.Backup.v5.8.0.WinAll.Incl.Keygen-FALLEN
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 摸鱼笔记!
评论