自动备份你的Hexo博客

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

前提#

最近十分难绷,为了搞code-server远程编辑博客,把博客的依赖给刷掉了,还好之前有备份逃过一劫,这也让我萌生了一个想法,可不可以把hexo源代码备份到github仓库上面呢?于是我在万能的度娘寻找答案,还真给我找到了一个方法。

原文章地址#

{% link 自动备份 Hexo 博客源文件,AISYUN’s Blog,https://blog.cyida.com/2023/32DJ476.html %}

感谢AISYUN大佬提供的方案,此文章只做记录留档,如侵犯到您的权利,请联系我下架此文章,谢谢~

正文#

将Hexo目录加入到Git仓库中#

git init
git remote add origin git@github.com:Github用户名/项目名字.git
git 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仓库上也有相应的博客代码啦!

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
自动备份你的Hexo博客
https://www.sumi233.top/posts/tutorial/hexo-github-auto-backup/
作者
酥米
发布于
2025-10-10
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
酥米
终有一日,寻梦中人
公告
欢迎来到酥米的小站!如果没有发现文章更新,请尝试清除网页缓存或使用 Ctrl+F5 刷新哦
分类
标签
最新动态
站点统计
文章
78
分类
6
标签
16
总字数
140,582
运行时长
0
最后活动
0 天前
站点信息
构建平台
Cloudflare Workers
博客版本
Firefly v6.15.8
文章许可
CC BY-NC-SA 4.0