前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >typecho博客每日备份并利用bypy上传到百度网盘

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

作者头像
IT不难
发布2022-04-08 18:24:29
5430
发布2022-04-08 18:24:29
举报
文章被收录于专栏:IT不难技术家园

前言

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

bypy

代码语言:javascript
复制
#安装
pip3 install bypy

#授权,输入授权码
bypy info

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

备份

备份脚本(databack.sh)

代码语言:javascript
复制
#!/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

手动备份

代码语言:javascript
复制
sh databack.sh

计划任务

代码语言:javascript
复制
10 3 * * * flock -xn /tmp/databack.lock -c 'sh /opt/databack/databack.sh'

备份可用行验证

登录百度网盘,将备份文件下载下来。然后通过腾讯云购买一台全新的vps(竞价实例,按量计费),做完测试可以删除。将备份文件上传到新买的vps。

搭建环境

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

导入数据

代码语言:javascript
复制
# 解压
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

修改配置

代码语言:javascript
复制
vim /opt/myblog/app/typecho/config.inc.php
代码语言:javascript
复制
$db->addServer(array (
  'host' => '172.17.0.10',
  'user' => 'mbguser',
  'password' => 'mb@123',
  'charset' => 'utf8',
  'port' => '3306',
  'database' => 'myblog',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

测试访问

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

本文共 362 个字数,平均阅读时长 ≈ 1分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • bypy
  • 备份
    • 备份脚本(databack.sh)
      • 手动备份
        • 计划任务
        • 备份可用行验证
          • 搭建环境
            • 导入数据
              • 修改配置
                • 测试访问
                相关产品与服务
                云数据库 MySQL
                腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档