自动备份你的Hexo博客
588 字
3 分钟
自动备份你的Hexo博客

前提
最近十分难绷,为了搞code-server远程编辑博客,把博客的依赖给刷掉了,还好之前有备份逃过一劫,这也让我萌生了一个想法,可不可以把hexo源代码备份到github仓库上面呢?于是我在万能的度娘寻找答案,还真给我找到了一个方法。
原文章地址
{% link 自动备份 Hexo 博客源文件,AISYUN’s Blog,https://blog.cyida.com/2023/32DJ476.html %}
感谢AISYUN大佬提供的方案,此文章只做记录留档,如侵犯到您的权利,请联系我下架此文章,谢谢~
正文
将Hexo目录加入到Git仓库中
git initgit remote add origin git@github.com:Github用户名/项目名字.gitgit pull origin main # 原教程中为Master,现已替换为main建议在博客根目录中写入.gitignore 文件,填入以下内容:
public/.deploy.deploy_git/*.log这样可以防止编译过的网页以及log文件被上传到仓库里,提升备份速度
然后再执行以下命令,手动将源代码首次推送至Github仓库中:
git add .git commit -m "备份hexo源码文件"git push origin master自动化实现
首先安装shelljs
npm install --save shelljs然后在博客根目录/scripts(如果没有此文件夹,就创建一个)文件夹里,创建一个名为auto_backup.js的脚本
并且填入以下内容:
require('shelljs/global');try { hexo.on('deployAfter', function() {//当deploy完成后执行备份 run(); });
} catch (e) { console.log("产生了一个错误啊<( ̄3 ̄)> !,错误详情为:" + e.toString());}function run() { if (!which('git')) { echo('Sorry, this script requires git'); exit(1); } else { echo("======================Auto Backup Begin==========================="); cd('Your Blog Folder'); //此处修改为Hexo根目录路径 if (exec('git add --all').code !== 0) { echo('Error: Git add failed'); exit(1); } if (exec('git commit -am "blog auto backup script\'s commit"').code !== 0) { echo('Error: Git commit failed'); exit(1); } if (exec('git push origin main').code !== 0) { echo('Error: Git push failed'); exit(1); } echo("==================Auto Backup Complete============================") }}- Your Blog Folder处请改成自己博客的绝对目录路径如:D:/blog/
- 如果你的仓库名称不是默认origin和分支不是main的话,需改成自己的仓库和相应分支名
结果
保存好脚本,在博客目录执行hexo deploy命令,在博客常规推送之后,会出现以下输出:

就证明博客代码推送成功啦~

此时查看Github仓库上也有相应的博客代码啦!
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
Hexo博客添加2048
教程类给你的Hexo博客添加2048小游戏
2
Hexo博客添加电子木鱼
教程类给你的Hexo博客添加电子木鱼界面
3
anzhiyu主题友链测速后端修复
教程类anzhiyu主题友链测速后端修复方案和脚本
4
PVE下it87安装驱动+风扇调速教程
教程类Proxmox Virtual Environment安装it87驱动和PWM风扇调速教程
5
酥米碎念站上线啦~
其他基于Wordpress制作的酥米碎念站即将上线
随机文章随机推荐



