前言

Hexo 备份与迁移,静态文件和源码文件都部署在阿里云

  • 本地环境:Node.js、Git
  • 本机系统:CentOS Linux release 7.5

永久链接

hexo-abbrlink

1
npm install hexo-abbrlink --save

在Github上新建仓库

实际上可以创建多个分支,分别存储源码文件和静态文件
我这里没有仓库就顺便新建一个 myblog.git

连接仓库

在 myblog 目录下,初始化一个新本地仓库

1
git init

这里就一气呵成吧,基本操作,有手就行

1
git remote add origin https://github.com/Yourname/myblog

需要备份的源码文件添加至缓存区

  • _config.yml 站点的配置文件
  • themes/ 主题文件夹下,可以选择需要备份的主题
  • source/文章的.md文件
  • scaffolds/ 文章的模板
  • package.json Node.js需要安装的模块
  • .gitignore 规定在push时可以忽略哪些文件

需要删除 themes/Butterfly/.git 文件夹,否则无法push主题文件夹

1
git add _config.yml .gitignore scaffolds/ package.json source/ themes/Butterfly/

添加注释

1
git commit -m "博客备份"

第一次强制上传,以后不需要 -u,注意要将以往生成SSH添加到新仓库

1
$ git push -u origin master

这样就备份完成了

在这里插入图片描述

恢复仓库

这个时候你肯定是一台新服务器,参考以前文章

安装Git和Nodejs

正常操作至

1
2
npm install -g hexo-cli
hexo -v

在 /root 下克隆我们之前备份的仓库

1
git clone https://github.com/Yourname/myblog

安装各种之前的依赖模块,启动服务,生成新的SSH
部署新服务器上记得修改新的站点配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd myblog
npm install
hexo g
hexo serve

git config --global user.name "yourname"
git config --global user.email "youremail"
git config user.name
git config user.email
ssh-keygen -t rsa -C "youremail"
ssh -T git@github.com

npm install hexo-deployer-git --save
hexo clean && hexo g && hexo d

站点配置文件

至此,已经迁移完成