利用百度网盘Python定期备份数据库
侧边栏壁纸
  • 累计撰写 27 篇文章
  • 累计收到 12 条评论

利用百度网盘Python定期备份数据库

六哥
2019-06-09 / 0 评论 / 0 阅读 / 正在检测是否收录...

原理是上传文件到百度云,大家也可以来个头脑风暴,比如利用闲置vps搭建离线下载到百度云?

【操作环境】

linux + python2 + mysql

【使用步骤】

1.安装百度网盘Python客户端

pip install bypy

2.授权bypy访问百度云

bypy info

运行上面的命令,把类似openapi.baidu.com/oauth/2.0/authorize?scope=basic+netdisk&redirect_uri=oob&response_type=code&client_id=XXXXX
的链接在浏览器打开
3.复制授权码到xshell按回车键
4.修改python备份模板代码(数据库名,用户名,密码,备份文件夹位置)
5.利用xftp上传python备份代码到服务器
6.利用定时任务(crontab)定期执行定时操作

python /home/backup/dbback.py

【python备份代码】

import os
import datetime
dbs = ['数据库名']
def dump(dbname):
    cmd = 'mysqldump -u用户名 -p数据库密码 %s| gzip > /home/backup/%s_' % (dbname, dbname)
    cmd += '`date +%Y%m%d_%H%M%S`.sql.gz'
    return os.system(cmd) == 0
def upload(dbname):
    cmd = 'bypy upload /home/backup/%s_' % dbname
    cmd += '`date +%Y%m%d_%H%M%S`.sql.gz'
    return os.system(cmd) == 0
for db in dbs:
    if not dump(db) or not upload(db):
        print '%s faild to backup database=%s' % (datetime.datetime.now(), db)
    else:
        print '%s success backup database=%s' % (datetime.datetime.now(), db)

特别感谢:
jianshu.com/p/2fe87d24434c
github.com/houtianze/bypy

0

评论 (0)

取消