更换设备后Hexo Blog备份与恢复

使用Hexo很长一段时间了,但是每次一时兴起更换设备操作系统后总会突然想起自己的博客数据没有进行备份,只能凭借记忆狠狠的回忆当时的文章内容。最近恰好有时间,痛定思痛直接研究研究数据备份和迁移的事情,来保证博客内容尽可能的不丢失。

准备工作

  • Git(已配置)

  • Node.js环境

  • Github账号

如果不了解GIt的基本配置过程(Git基本指令、Git config配置、ssh key远程连接配置)可以自行百度,本文不再赘述。

数据备份

数据备份有多种办法,可以网盘/U盘等等,但是每次写完文章都要再打开网盘/掏出U盘再拷贝一次相对非常繁琐,本文采用的是于Github建立仓库进行备份的方式,将必要数据push到仓库,通过命令push以及clone都会相对简便较多。

建立仓库并进行远程连接

  1. 在Github中新建Repository,命名为BlogArchive。

  2. 打开本地博客文件夹(此处以”F:\Blog“为例)初始化并远程连接Git仓库。指令如下:

$ cd F:\Blog
$ git init
$ git remote add origin https://github.com/your_github_name/BlogArchive.git

配置.gitignore并Push重要文件

  1. 新建.gitignore文件并添加非必要文件,方便上传重要文件。以下是我的.gitignore配置目录,仅供参考(如果感兴趣可以自行百度gitignore配置方法)。
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
_multiconfig.yml

同时此处也提供重要文件夹的目录,如果您选择其他方式备份,也可以提供参考:

scaffolds/  
source /    
themes/     
_config.yml 
package.json  
  1. 将重要数据备份并push到远程仓库进行备份。指令如下:
# 远程仓库为空时的指令参考
$ git push -u origin master
# 远程仓库非空时的指令参考
$ git push origin master

至此,数据备份完成。为方便随时备份数据,更换设备后的Blog文件夹也同样建议远程连接备份数据库,每次更新完后进行如下操作随时进行备份。

$ git add .
$ git commit -m "update content"
$ git push

数据恢复

本地hexo安装与恢复

  1. 新设备创建Blog目录,用于存放文件

  2. 安装hexo以及必要模块,clone备份文件到本地

$ cd Blog
$ npm install -g hexo-cli
$ git clone https://github.com/your_github_name/BlogArchive.git Blog

hexo相关功能恢复

  1. 安装文章部署远程插件及其他插件

文章部署远程插件是必要的,它可以将你的文章部署到Github page。

同时找到所使用的主题的官方文档,查看功能实现所需要的插件,这里以cactus主题的搜索功能为例,参考命令如下:

# 文章远程部署插件
$ npm install hexo-deployer-git --save
# 安装其他插件
$ npm install npm install hexo-generator-search --save
  1. 本地测试运行并远程部署
# 本地测试
$ hexo server
$ hexo s
# 将数据部署到云端
$ hexo clean
$ hexo g
$ hexo d

至此,新的博客本地部署完成,可以继续愉快的写博客啦!