用云盘备份hexo

备份

运行环境

  • Ubuntu 20LTS版本
  • 公网ip
  • 有自己域名

0x01 下载阿里云linux客户端

进入opt目录

1
cd /opt

下载安装包

1
wget https://download.fastgit.org/tickstep/aliyunpan/releases/download/v0.2.1/aliyunpan-v0.2.1-linux-amd64.zip

安装解压工具

1
apt install unzip

解压

1
unzip aliyunpan-v0.2.1-linux-amd64.zip

重命名文件夹

1
mv aliyunpan-v0.2.1-linux-amd64/ aliyunpan/

0x02 登录

进入aliyunpan目录并运行

1
2
cd aliyunpan/
./aliyunpan

通过token登录

1
2
login -RefreshToken=你的RefreshToken值  # 登录
exit # 退出

RefreshToken值获取方法

0x03 备份准备

创建备份文件

1
2
cd /opt
vim blogBackup.sh

复制下面的备份脚本进入文件

  • 注意看命令后的备注,需要提前创建一些目录
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/bin/bash
    # -------------------------------------------------------------------------------
    # FileName: blogBackup.sh
    # Describe: Used for blog backup
    # Revision: 1.0
    # Date: 2022/09/21
    # Author: luyublog
    WEB_PATH=/root/blog/source # 要备份的目录
    ALIYUNPAN_PATH=/www/blogBackup/ #阿里网盘内的文件夹路径 提前创建好
    BACKUP_DIR=/opt/blog/backup #备份到哪个目录 提前创建好
    DATE=`date +%Y%m%d%H` #时间
    # 删除本地备份数据(删除7天以前的备份数据)
    echo "正在删除7天以前的本地博客备份数据!!!"
    find $BACKUP_DIR -mtime +7 -type f -name '*.tar.gz' -exec rm -rf {} \;
    # 备份博客源文件目录
    echo "删除成功,正在备份博客数据!!!"
    tar zcPf $BACKUP_DIR/BLOG_${DATE}.tar.gz $WEB_PATH
    # 调用aliyunpan上传备份的文件
    echo "备份成功,上传云盘"
    /opt/aliyunpan/aliyunpan upload $BACKUP_DIR/BLOG_${DATE}.tar.gz $ALIYUNPAN_PATH

保存退出后执行看看能不能运行

1
bash blogBackup.sh 
  • 这里多说一句,如果你是先把代码复制到windows环境下再导入到linux机器里的话会执行失败
    建议看下这篇文章

0x04 定时执行

设置定时任务

1
vim /etc/crontab

把以下内容复制到最后一行

1
2
#每天早上2点执行备份脚本
0 2 * * * root /opt/blogBackup.sh > /opt/blogBackup.log 2>&1 &

保存退出后重启一下cron

1
service cron restart

恢复

最后说一下恢复。把hexo、nginx重新安装好,然后把备份文件下载好后解压到博客source文件夹下即可

参考链接
参考博主博客

hexo常用配置

0x00 背景

接上一篇安装流程,这篇记录下具体文章配置,例如预览图,背景图,标签和简介等

0x01 front-matter例子

front-matter是文章的简介,加在md文档的最前面,用之前最好看看官方文档或者百度一下
下面提供一个常用的front-matter的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
---  # 记得这三道杠也要加上
title: hexo自建经验1 # 这是简介标题
date: 2022-09-17 # 创建日期
updated: 2022-09-17 # 更新日期
tags: [博客,hexo] # 标签(详见下方)
categories: # 分类
- [博客]
- [hexo]
top_img: # 文章详情顶部照片
keywords: [博客,hexo,常用模板] # 关键词
comments: true # 是否显示评论
cover: imgs/0917.png # 首页显示的图片
description: 常用文章头模板 # 首页显示的简介
--- # 三道杠不要忘记了

0x02 图片

如果使用的图片不是外链而是本地图片的话需要在本地先将图片上传
首先在source路径下新建一个图片文件夹专门存放图片文件(绝对路径为/root/blog/source/imgs)

1
mkdir source/imgs

0x02 图片引用

在不同的地方照片的引用方式也不同
对于文章内部,可以使用以下格式

1
<img src="../../../../../imgs/yourFileName.png" alt="hexo" style="width:20%" />

当然还有其他方式,这里只说一个用着方便的,详情可以翻翻官方文档

对于front-matter,间接引用即可,详见0x01 cover的备注

0x03 生成标签

hexo框架内标签需要自己先生成标签目录

1
2
hexo new page tags
vim source/tags/index.md

然后将刚刚生成的index.md内容改为

1
2
3
4
5
---
title: 标签
date: 2022-09-05 00:00:00
type: "tags"
---

0x04 生成目录

目录的生成方式和标签基本一致

1
2
hexo new page categories
vim source/categories/index.md

还是修改index内容

1
2
3
4
5
---
title: 分类
date: 2022-09-05 00:00:00
type: "categories"
---

hexo安装及nginx配置

介绍一下自己安装hexo的过程

运行环境

  • Ubuntu 20LTS版本
  • 公网ip
  • 有自己域名

软件安装

安装nodejs

1
2
$ curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
$ sudo apt-get install -y nodejs

安装git

1
$ sudo apt-get install git-core -y

安装hexo

1
$ npm install -g hexo-cli

在root目录下新建blog文件夹

1
2
$ mkdir blog
$ cd blog/

初始化hexo环境并启动

1
2
3
$ hexo init
$ npm install hexo-renderer-pug hexo-renderer-stylus hexo-algoliasearch
$ hexo s
  • 此时若能在浏览器通过公网ip:4000访问则说明ok了

更换主题

一般都会选择一个喜欢的主题,本例选用butterfly

从github克隆第三方主题,保存到:blog/theme/主题名

1
2
$ ctrl+C #退出hexo
$ git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

配置 blog/_config.yml文件

1
$ vim _config.yml

将文件内的theme的值改为butterfly
例:theme: butterfly

重新生成

1
2
3
$ hexo clean  # 清空缓存 
$ hexo g # 重新渲染
$ hexo s