酥米小机器人正在努力构思中···(如果文章里面一直显示ai构思中,那就是酥米本米没有在文章设置AI总结/DOGE)
酥米机器人AI摘要
Qwen3-8B

自动备份你的Hexo博客

前提

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

原文章地址

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

正文

将Hexo目录加入到Git仓库中

1
2
3
git init
git remote add origin git@github.com:Github用户名/项目名字.git
git pull origin main # 原教程中为Master,现已替换为main

建议在博客根目录中写入.gitignore 文件,填入以下内容:

1
2
3
4
public/
.deploy
.deploy_git/
*.log

这样可以防止编译过的网页以及log文件被上传到仓库里,提升备份速度

然后再执行以下命令,手动将源代码首次推送至Github仓库中:

1
2
3
git add .
git commit -m "备份hexo源码文件"
git push origin master

自动化实现

首先安装shelljs

1
npm install --save shelljs

然后在博客根目录/scripts(如果没有此文件夹,就创建一个)文件夹里,创建一个名为auto_backup.js的脚本

并且填入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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仓库上也有相应的博客代码啦!