夫天地者,万物之逆旅;光阴者,百代之过客。

0%

简略聊聊我的博客的更新、备份策略

狗儿的胆子特别小,害怕任何疏漏、错误的出现,所有事情都想着尽可能做到万无一失。

比如硬盘有一定概率突然损坏,导致丢失数据,所以我总是以两倍以上的硬盘容量进行冷备份,同时重要数据定时向百度网盘、ondrive更新。当然我的硬盘数据同步策略可以单独写一篇博文了,本文主要说一下我的博客的更新、备份策略。

博文->本地win10

首先,本地我使用自己用PyQT写的typecho博客管理姬进行博文的更新和备份

1592097870523

其中的“全站备份”这一选项可从数据库中下载文章独立页面的博文,markdown格式的文件,同时将文章里面的网络图片下载到本地,并修改其在markdown文件中的引用。

数据库、图片->阿里云OSS

写了一个小shell脚本,用于导出数据库文件,并向阿里云OSS同步数据库文件和博客图片。

放到宝塔的定时计划里,三小时执行一次。

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
#!/bin/bash

blog_mysql_backups () {
backup_dir=/root/sh/blogDBbackup
oss_dir=oss://iyzyi-oss/blog/mysql
username=root
password=密码
database_name=blog

tool=mysqldump
date=`date +%Y-%m-%d-%H-%M-%S`

if [ ! -d $backup_dir ];
then
mkdir -p $backup_dir;
fi

$tool -u $username -p$password $database_name > $backup_dir/$database_name-$date.sql
echo "create $backup_dir/$database_name-$date.sql"

ossutil64 cp $backup_dir $oss_dir -r --update
}

blog_uploads_backups () {
ossutil64 cp /www/wwwroot/blog/usr/uploads oss://iyzyi-oss/img/uploads -r --update
}

blog_mysql_backups
blog_uploads_backups

1592099539399

阿里云OSS->本地群辉

之前入手了一台黑群晖,意外发现群辉可以同步阿里云OSS的数据,于是我设置了一下,实现了上一步同步到阿里云OSS的数据库文件和博客图片,通过阿里云OSS的中转,同时同步到本地群辉。

今天群辉还没开机,哪天开机了我再截个图吧。

typecho->hexo

typecho是动态博客,经常出现各种问题,特别是数据库,出错频率特别高,为了不影响我打比赛的时候不影响查阅以往的笔记,所以写了个typecho博文转换成hexo博文的py脚本,并做成docker镜像。做好配置后,即可每三小时更新一次hexo博客。

同时,生成静态的hexo博客后,向阿里云OSS、Github分别推送一份。最初是只向Github推送的,但是Github在国内的速度简直不忍直视。

阿里云OSS上的hexo博客:hexo.iyzyi.com

Github上的hexo博客:hexo2.iyzyi.com

1592099351589

如果我想,也可以在服务器上也开一个hexo静态站点(容器内使用hexo s,然后外网访问iyzyi.com:50010),但是完全没有必要了。

未来的方向

  • 在群辉上也搭建一个typecho博客,实现两个typecho博客之间的同步。
  • QT重写typecho博客管理姬。

拓扑图

无标题