前言:我是通过Github部署博客的,通过
hexo d
上传部署到Github的其实是hexo编译后的文件,不包含源文件。而其他文件 ,包括我们写在_posts里面的文章,和配置文件_config.yml,主题文件_config.butterfly.yml等都没有上传到github
而遇到电脑寄了或者重装系统等不可抗力,想要恢复博客没有源文件只能重来一遍(文章什么的都没有了🌚),故备份源文件十分重要,特此记录下。
文章目录
1备份博客
- U盘备份(这个没什么好说的)
- 将源文件托管在Github/Gitee/Gitlab上(着重说下这个)
1.1生成SSH-Key
我选择用Gitee备份,先生成一个Gitee用的SSH-Key
Ctrl+Alt+T打开终端,输入
ssh-keygen -t rsa -C xxxxxxxx@qq.com -f ~/.ssh/gitee_id_rsa
xxxxxxxx@qq.com替换为自己的邮箱即可
一直按ENTER,会生成密钥文件
打开文件–显示隐藏文件–找到.ssh打开–打开刚刚创建的gitee_id_rsa.pub
复制里面的内容,打开Gitee–右上角头像下设置–SSH公钥–粘贴公钥,标题随便取
1.2新建repository
在Gitee新建仓库,名称随意,勾选README
复制仓库地址
Ctrl+Alt+T打开新终端,输入,git clone 地址
git clone git@gitee.com:stringwind/blog_backup.git
1.3获取.git
打开clone来的文件夹–显示隐藏文件–复制.git文件
将文件粘贴到博客根目录下
1.4创建.gitignore
可能已经有了,没有的话创建个,根目录下touch .gitignore
,写入
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
_multiconfig.yml
上传时候忽略一些文件(都是些安装会自动生成的或是编译后的文件,无须备份)
备份
博客根目录下执行
git add .
git commit -m backup
git push -u origin master
这样就将源文件备份到Gitee上了
每次更新后,输入以下命令即可备份
git add .
git commit -m backup
git push
hexo g
hexo d
1.5一键备份并部署(可选)
由于每次更新后都要输入大量命令行十分麻烦,遂创建一键部署脚本方便备份部署
在博客根目录下创建deploy.sh文件,写入
echo "Start"
git add .
git commit -m backup
git push
hexo g
hexo d
echo "Finish"
echo 按任意键继续
read -n 1
保存后,在博客根目录双击执行或用命令./deploy.sh
即可实现博客的一键备份并部署
2恢复博客
2.1基础环境搭建
Hexo博客基础环境已经搭好:比如安装npm、git、nodejs、hexo安装…
2.2克隆项目到本地
Ctrl+Alt+T打开终端,输入
git clone git@gitee.com:stringwind/blog_backup.git
git clone 自己的仓库地址
2.3恢复博客
在clone来的文件夹里执行
npm install hexo-cli
npm install
npm install hexo-deployer-git
这样博客源文件就成功移植了,再用hexo clean、hexo g、hexo d即可部署完成