记一次拯救我的博客
编辑事情的缘由是我服务器到期了,又没来得及续费,导致无法上服务器备份数据(使用的腾讯云老版本的学生机,每月一块钱的那种,这个月刚好到期,所以不想再用原价续费了,而且 1g 内存可能满足不了以后的需求,所以索性重新买了一台…)
数据咋办?
既然不想续费了,所以是无法上服务器备份数据的,正当我想去咬牙续费的时候,突然想起来曾经把数据备份到 Github 上过… 那么这就相当好办了。
重装博客
晒一张我在 Github 上的备份,虽然是五天前备份的了,但是影响不大,好在我这几天都没怎么操作。
嗯,得益于我用的 Halo 博客系统,所以只需要备份这一个目录就完全 OK,所有数据都不会丢失。因为这个系统他的用户数据和程序本身是完全分开的(数据库 db,上传的附件 upload,配置文件 application.yaml),当然,所有主题也是在这个目录的,但是因为主题是可以另外下载的,而且主题的配置数据也在数据库,所以我没有备份。
接下来我只需要把这个仓库克隆到服务器就好了。
git clone https://github.com/ruibaby/blog-data.git .halo
然后配置个 Java 环境,下载个 Halo 运行包。启动就完事。
配置服务器
这个环节没啥做的,配置个 Java 环境就好了,一行命令的事。
然后我跟着这个教程就完成了所有事情。https://halo.run/guide/install/install-with-linux.html
当然,我并没有配置反向代理,因为我是使用的又拍云的 cdn 全站加速,去控制台改改服务器 ip (源站地址)就好了。
自动备份脚本
考虑到后面可能会忘记备份数据,所以写了个自动提交的脚本。
#! /bin/bash
message=`date -u +"%Y_%m_%d_%H_%M"`
cd /root/.halo
rm -rf .git
git init
git remote add origin repo_url
git add application.yaml upload/ db/
git commit -m $message
git push -f origin master
将其写入到一个
sh
文件里面。赋予执行权限
chmod +x {NAME}.sh
。初始化
~/.halo
仓库,cd ~/.halo & git init
。去 Github 配置
ssh key
。这一步不详细讲,自行百度。目的是在push
的时候不需要输入用户名和密码。执行
crontab -e
添加00 03 * * * /bin/sh {NAME}.sh 的绝对路径
。(00 03 * * *
表示每天三点执行)。执行
service crond restart
使配置的定时任务生效。
结尾
数据无价,还好这次有备份数据。
- 5
- 15
-
分享