如何将数据库备份到阿里云的OSS上
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数据库备份到阿里云的OSS上相关的知识,希望对你有一定的参考价值。
参考技术A 第步:我数据库备份某目录注明间:运行备份脚本(注意备份目录我/home/dbback/)
查看目录否备份文件细同能发现我mysqldump没指定用户名密码啥我运行候费用输入密码呢莫着急马揭晓答案mysql5.6(具体版本编号记)密码写脚本运行警告告诉要密码写脚本危险我伙伴该办呢官给解决案期望配置my.cnf文件所现打my.cnf加入字段:
两条运行脚本提示要输入密码马测试看否功没问题我进入步
第二步:何自备份oss始前我要做两件事
1、登录阿云控制台点右管理控制台点左产品与服务第二列点击象存储OSS没通要通通直接点击右新建bucket创建bucket记住buket名字(注:其实通api直接创建bucket操作所我用控制台创建降低理解难度)
2、始写传脚本要导入osssdk所要安装比较简单跟安装其python包没啥区别解压进入目录运行python setup.py install 安装完毕接看我何使用全部代码:
#!/usr/bin/python env
#autor:glacier
#date:2015-11-16
import os,os.path,time
import operator
import time
from oss.oss_api import *
prefix = '/home/dbback'
logtime = time.strftime(time.ctime())
#filelist = [ file for file in os.listdir(os.path.dirname(os.path.abspath(__file__))) if os.path.isfile(file) ]
filelist = [ file for file in os.listdir(prefix) if os.path.isfile(prefix + '/' + file) ]
def get_time(filename):
ft = os.stat(filename)
return ft.st_ctime
#def get_max():
# flist = []
# for file in filelist:
# flist.append(os.stat(file).st_ctime)
# return max(flist)
def get_dist():
d =
for file in filelist:
d[file] = get_time(prefix + '/' + file)
return d
if __name__ == '__main__':
#maxtime = get_max()
d = get_dist()
#dic= sorted(d.iteritems(), key=lambda d:d[1], reverse = True)
upfile = max(d.iteritems(), key=operator.itemgetter(1))[0]
endpoint = "your aliyun endpoint"
accessKeyId, accessKeySecret="your accessKeyId","your accessKeySecret "
oss = OssAPI(endpoint, accessKeyId, accessKeySecret)
res = oss.put_object_from_file("bucketname",upfile,prefix + '/' + upfile)
if res.status != 200:
with open('/var/log/dbback.log', 'a+') as f:
f.write(logtime + ' back failed' + '\n')
我接析脚本内容其脚本注释行都用看我编写程测试用始我设定备份文件目录记录志间备份目录所文件列表(列表其实式我用简单式文件列表慢)定义两函数get_time()函数获取文件创建间戳get_dist()函数获取文件名间戳字典主函数部比较难理解根据字典value排序获文件名d.iteritems()获字典每key,valuekey指定函数operator.itemgetter(1)表示用value排序(两元素key 0value1)间戳排序完返key[0]做工作脚本其部内容我说都见用没难于理解脚本介绍接进入我步
第三步:脚本写入crontab具体候执行根据家各自业务同设置没特别本回答被提问者采纳
以上是关于如何将数据库备份到阿里云的OSS上的主要内容,如果未能解决你的问题,请参考以下文章