Hexo 扩展 --- 优雅的备份 Hexo 博客

前言

由于 Hexo 是静态博客,需要在本地配置,写文章,然后生成静态页面后上传到服务器。

这也就带来了备份的问题,我辛辛苦苦的配置了那么多主题相关的个性化配置,换电脑了怎么办? 重写? 怎么可能。!

那么备份本地的 Hexo 文件吧,这就涉及到一个问题,先看下我的博客在本地占用的空间和文件数量:

文件大小还可以接受,但…文件数量这么多,小文件复制起来那叫一个慢啊。

这里我们要考虑几个问题了:

  • 哪些文件需要备份,哪些不需要。
  • 如何备份,用什么工具备份。
  • 备份到 U 盘?云盘?还是其他。
  • 备份后如何恢复(重点)。

按照这几点,我们慢慢谈。

备份哪些文件?

备份我们只需呀备份一些重要的文件即可,一些安装后就没该变化,或会自动生成的文件就没必要备份了,以下几个是我测试后的较为精简的备份方案。

  • 根目录下的几个配置文件,主要是 _config.ymlpackage.json(必备份)
  • source 文件夹,这个就不用说了,这里面包含了你写的文章的 markdown 源码,这个才是最重要的。(必备份)
  • hexo/themes/themes_name 这里的 themes_name 指的是你的主题名称,可能你会对主题进行一些个性化的配置,所以这个主题全部备份了。(一般都只用一个主题,而且默认的主题也不用,所以默认主题不用备份。)。(必备份)
  • scaffolds 文件夹,这个文件夹里是创建文章时的模板,如果你没修改过这个文件夹中的东西,可以不用备份。(根据情况备份)
  • .ssh ,如果你使用了免密部署,那么备份下你的公钥和私钥还是有必要的,你也可以选择,当然重新生成。(根据情况备份)

备份到哪里?

备份到哪里也是一个问题,备份到 U 盘的话就太麻烦了,而且也不能保证文件的实时性,万一电脑文件突然全部丢失了,还没来得及备份,那就完蛋了~。

所以直接排除掉本地备份这一项,而使用云服务备份,可以使用百度云,或 OneDriver 等服务,但还要考虑一个问题,就是能不能进行增量备份、选择性备份,方便不方便。

说先说说百度云,是大厂的,可靠性很高,但是呢,你可能备份上去简单,下载下来就难了。。。 然后就是 OneDriver 等国外的服务提供商,同样也是大厂,但是毕竟由于网速的问题,选择国外的服务商不太适合。

于是就轮到今天的主角了:坚果云,不是广告,是确实挺好用。 记得用 选择性备份

备份后如何恢复?

  1. 安装 NodeJS 和 Git 这个就不多说了,并把备份的公钥私钥放到用户目录下的 .ssh 文件夹下,同时还要记得配置 Git 的邮箱和用户名: 1 2git config --global user.name "Your Name" git config --global user.email "email@example.com"
  2. 再将备份到坚果云的文件都先同步(下载)到本地的一个文件夹。
  3. 然后创建一个目录,用来存放 hexo,一系列命令 : 1 2 3 4 5npm config set registry http://registry.cnpmjs.org npm install hexo-cli -g hexo init npm install npm install hexo-util --save
  4. 现在再把第二步的拿到的之前备份的文件,依次覆盖当前目录下的文件即可(package.json 除外)。
  5. 对比备份的 package.json 和新生成的 package.json 文件的区别,可以得知自己有哪些插件没安装,安装即可。(如果不小心覆盖掉了 package 文件,也不要紧,打开 node_modules 文件夹,查看跟备份的 package.json 中的差别)

还原后,别忘了,在把现在的博客再设置下备份~~~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Node.js

Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端利用JavaScript,开发可以更加一致并在同一系统...

8976
来自专栏性能与架构

nginx反向代理实现跨域请求

跨域请求可以通过JSONP实现,缺点是需要修改被请求的服务器端代码进行配合,稍显麻烦 通过在自己服务器上配置nginx的反向代理,可以轻松实现跨域请求 思路 ...

4746
来自专栏java一日一条

Git常用命令使用大全

目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂。我整理了一份关于Git的学习资料,希望能帮助到正在学习...

991
来自专栏大数据和云计算技术

MongoDB系列11:Munin监控MongoDB

Munin是一个网络资源监控工具,可以帮助分析资源趋势。默认提供了大量的分析图形。以下讲述如何设置MongoDB的Munin监控插件。

1893
来自专栏喵了个咪的博客空间

Otter-入门篇3(Node搭建)

Otter-入门篇3(Node搭建) ? 前言 哈咯大家好呀!今天是对otter准备的最后一个流程,配置好node,并且吧manager,zookeeper和n...

46613
来自专栏测试驿栈

JProfiler简明使用教程

 JProfile是一款性能瓶颈分析工具,监控粒度可以细化到某一个类包,堪称神器!我安装了一下9.11的版本,并简单说说使用方法。

1.6K3
来自专栏云计算教程系列

在服务器上安装维护你的MongoDB数据库

MongoDB是一个免费的开源NoSQL文档数据库,在Web应用程序中经常使用。在本教程中,您将安装MongoDB,学习如何管理其服务并启用远程访问。

1772
来自专栏linux驱动个人学习

高通GPIO驱动(DTS方式)

gpio调试的方式有很多,linux3.0以上ARM架构的处理器基本上都采用了DTS的方式,在linux3.0可以通过获取sysfs的方式来获取gpio状态; ...

5504
来自专栏Linux运维学习之路

day4、Linux基础题目

第一题 我想在/data/da 目录下面创建 一个 da.txt 文件  [root@ll ~]# cd /data/oldboyedu -bash: cd: ...

2608
来自专栏云计算教程系列

使用mysqldump备份MySQL或MariaDB

在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具。本文将简介MySQL如何使用mysqldump工具进...

1383

扫码关注云+社区

领取腾讯云代金券