typecho博客每日备份并利用bypy上传到百度网盘

行云流水
2022-04-01 / 3 评论 / 431 阅读 / 正在检测是否收录...

前言

随着博客运行的时间越来越长,每天整理技术笔记,发布文章。所用的时间和精力也越来越多。担心某天不管是因为误操作还是发生不可控的故障造成数据丢失。竹篮打水一场空,就不好了。于是就想讲数据每日自动备份一次,然后利用bypy上传到百度网盘。

bypy 安装

#安装
pip3 install bypy

#授权,输入授权码
bypy info

bypy list    #显示文件列表
bypy upload  /data/db-backup/myblog_20220331.gz  #上传特定文件
bypy upload  #上传当前目录

备份数据

备份脚本(databack.sh)

#!/bin/bash
##备份数据库脚本
##email: 1940728253@qq.com
##xwzy1130

#MySQL配置信息
#HOST=127.0.0.1
HOST='/opt/app/mysql/mysql.sock'
USERNAME='root'
PASSWORD='xxxx@123'

#获取日期
DATE=`date +%Y%m%d`

#保存期限
DAYS=20

#备份文件存放位置
BACKUP_DIR='/data/db-backup'

#typecho目录
project='/opt/project/myblog'

#MySQL命令所在目录
MYSQL_DIR=/usr/bin/

#需要备份的数据库列表
#dbs=(myblog httpmonitor)
dbname='myblog'

#判断目录是否存在
if [ -d ${BACKUP_DIR} ];then
cd ${BACKUP_DIR}
else
mkdir -p ${BACKUP_DIR}
fi

#备份数据库
if [ -f ${dbname}_${DATE}.gz ]; then
echo "MySQL Database ${dbname}_${DATE}.gz already exists."
else
#${MYSQL_DIR}/mysqldump -u${USERNAME} -p${PASSWORD} -h${HOST} --default-character-set=utf8 --master-data=2 --single-transaction  ${dbname} | /bin/gzip > ${BACKUP_DIR}/${dbname}_${DATE}.gz
${MYSQL_DIR}/mysqldump -u${USERNAME} -p${PASSWORD} -S${HOST} --default-character-set=utf8 --master-data=2 --single-transaction  ${dbname} | /bin/gzip > ${BACKUP_DIR}/${dbname}_${DATE}.gz
fi

#制作压缩包
tar -zcvf  ${BACKUP_DIR}/typecho_all_${DATE}.tgz ${project}/app/typecho  ${BACKUP_DIR}/${dbname}_${DATE}.gz

#利用bypy同步到百度云盘
cd ${BACKUP_DIR} &&  /usr/local/bin/bypy   upload  ${BACKUP_DIR}/typecho_all_${DATE}.tgz

##删除旧备份文件
find  ${BACKUP_DIR} -name "*.gz" -type f -mtime +22|tee -a ${BACKUP_DIR}/del.log  | xargs rm -f  2>>${BACKUP_DIR}/err.log

exit 0

手动备份

sh databack.sh

计划任务

10 3 * * * flock -xn /tmp/databack.lock -c 'sh /opt/databack/databack.sh'

备份可用行验证

搭建环境

参考我的另一片文章: 从零开始-搭建Typecho+Joe主题的博客

导入数据

# 解压
tar xvf typecho_all_20220401.tgz
# 数据导入
mv opt/project/myblog/app/typecho/  /opt/myblog/app/
gzip -d myblog_20220401.gz
mysql -umbguser -pmb@123 -h172.16.4.10 myblog < myblog_20220401

修改配置

vim /opt/myblog/app/typecho/config.inc.php

测试访问

绑定host,然后访问 https://www.itbunan.xyz 如果可以正常显示,说明没有问题。

评论 (3)

取消
只有登录/注册用户才可评论
  1. 头像
    logf
    中国安徽省 · Windows 10 · QQ Browser
    沙发

    受益匪浅,感谢博主。

    回复
  2. 头像
    中国甘肃省 · Windows 10 · Google Chrome
    板凳

    喜欢这篇文章,作者666,文章真棒!

    回复
  3. 头像
    AlexCoding
    中国北京市 · Windows 10 · Google Chrome
    地毯

    这篇文章肯定会火,作者666大顺

    回复
  4. 头像
    zx
    · Windows 10 · Google Chrome
    第4楼

    看看

    回复