随心一记

一二三四五,上山打老鼠


  • 首页

  • 归档

  • 标签
ywcsb

ywcsb

游戏可以不玩,小说不能不看。

153 日志
3 分类
41 标签
RSS
GitHub 知乎 随心一记
Links
  • 随心一记
  • 追梦人物的
  • MSDN

Python3备份MySQL数据库并上传到七牛云储存

发表于 2019-01-23 | 阅读 47 | 分类于 Python |

#!/usr/bin/env python3
#--coding:utf-8--

date: 2018/4/13

author = ‘xiaobing’ import time import os from qiniu import Auth, put_file, etag, BucketManager

上传文件

def uploading(q, bucket_name, key, local_file): # 生成上传 Token,可以指定过期时间等 token = q.upload_token(bucket_name, key, 3600) ret, info = put_file(token, key, local_file) assert ret[‘key’] == key assert ret[‘hash’] == etag(local_file)

设置更新文件生存时间和文件存储类型

def turnover_time(q, bucket_name, key): # 初始化BucketManager bucket = BucketManager(q) # 您要更新的生命周期 days = ‘5’ bucket.delete_after_days(bucket_name, key, days) # 1表示低频存储,0是标准存储 bucket.change_type(bucket_name, key, 1)

def main(name): # 七牛云的空间 bucket_name = ‘mysqldump’ # 七牛后保存的文件名 key = name # 要上传文件的本地路径 local_file = “/data/mysqldump/%s” % name # 填写你的Access Key 和 Secret Key #需要在七牛云获取 access_key = “access key” secret_key = ‘secret key’ # 构建鉴权对象 q = Auth(access_key, secret_key) uploading(q, bucket_name, key, local_file) turnover_time(q, bucket_name, key)

def mysql_dump(name): path = ‘/data/mysqldump/%s’ % name path_tar = ‘%s.tar.gz’ % path cmd_mysql = “mysqldump -uroot -p12345.com –all-databases –lock-tables > %s” % path cmd_tar = “tar zpPcf %s %s && rm -rf %s” % (path_tar, path, path) cmd_find = “find /data/mysqldump/ -mtime +7 -name *.sql.tar.gz -exec rm -rf {} \;” if os.path.isdir(“/data/mysqldump/”): if os.path.isdir(path_tar): pid = os.getpid() os.system(‘kill -9 %s’ % pid) else: os.system(cmd_mysql) os.system(cmd_tar) os.system(cmd_find) else: os.mkdir(“/data/mysqldump/”) os.system(cmd_mysql) os.system(cmd_tar)

if name == ‘main’: data = time.strftime(‘%Y-%m-%d’, time.localtime()) name = ‘all_%s.sql’ % data mysql_dump(name) main(name=name_tar)

觉得不错,支持一下!
geerniya WeChat Pay

微信打赏

geerniya Alipay

支付宝打赏

# Python # 脚本

发表评论

共 0 条评论

    暂无评论
© 2018 - 2026 ywcsb
冀ICP备17022045号-1
Supported by 腾讯云