Hexo博客使用插件hexo-git-backup通过GitHub备份与恢复

本文最后更新于:2020年7月4日 晚上

好久没更新过博客了,现在用的这台电脑是前些天刚装的Ubuntu系统,今天打算把博客迁移过来,折腾了好一会儿,所以准备写一篇关于Hexo博客的备份与恢复的。

用的是一个插件:hexo-git-backup,Hexo官网的插件里搜不到,这个插件发布在了GitHub上,关于安装使用官方也给了很简洁易懂的说明文档。

备份

安装插件

如果你的Hexo版本是2.x.x(查看Hexo版本可使用命令:hexo version)在终端中使用如下命令安装:

$ npm install hexo-git-backup@0.0.91 --save

如果你的Hexo版本是3.x.x则使用如下命令安装:

$ npm install hexo-git-backup --save

插件升级

如果你是通过--save安装的,那么升级之前你必须先删除旧的版本:

$ npm remove hexo-git-backup
$ npm install hexo-git-backup --save

新建GitHub仓库

新建一个 GitHub 仓库用来备份博客(具体操作不再赘述)

复制仓库SSH链接备用,此处需确保你的电脑已通过SSH连接到 GitHub ,具体操作可参考 GitHub 官方帮助文档

插件配置

在博客根目录下的 _config.yml 文件中配置插件:

backup:
    type: git
    repository:
       github: git@github.com:xxx/xxx.git,branchName
       gitcafe: git@github.com:xxx/xxx.git,branchName

配置说明:

如果你想连同主题一起备份,在 _config.yml 文件中添加主题名即可:

backup:
    type: git
    theme: coney,landscape,xxx
    repository:
       github: git@github.com:xxx/xxx.git,branchName
       gitcafe: git@github.com:xxx/xxx.git,branchName

注意:如果你选择了备份主题例如landscape,那么landscape主题文件夹下的 themes/landscape/.git 文件就会被删除

如果你想自定义 commit 信息,添加一行 message: update xxx 即可:

backup:
    type: git
    message: update xxx
    repository:
       github: git@github.com:xxx/xxx.git,branchName
       gitcafe: git@github.com:xxx/xxx.git,branchName

插件使用

现在就可以使用以下命令备份你的博客到GitHub了

$ hexo backup

或者

$ hexo b

博客备份至此就已经结束!安全起见可以每次 hexo d 的时候同步 hexo b 备份一下博文。

恢复

有时候换了另一台电脑或者另一个系统环境下,想要写博客就不得不把博客文件迁移过去,这一部分是关于博客的迁移,接上文使用 hexo-git-backup 插件的情况下(其他方法备份的博客原理类似)。

安装Hexo

根据 Hexo 官网说明安装 Hexo 即可

附上官网地址:https://hexo.io/zh-cn/

要部署博客到 GitHub 还需要安装插件:

$ npm install --save hexo-deployer-git

恢复博客

下载或者 clone 前文所述备份的博客到本地任意位置,复制备份文件夹内所有文件到新安装的博客目录下,重复文件保留备份的即可。

至此博客迁移已完成,可以”三部曲“测试一下是否迁移成功:

$ hexo clean
$ hexo g
$ hexo s