阿里云是目前国内公有云排名靠前的一家企业,安全性较高,但在保证安全的前提下也存在着业务上云后如何进行备份,下面的实例是一个现实的项目案例,主要是数据库上云后如何将数据备份到本地存储设备中,下面是以python为基础编写的一套从阿里云备份数据库数据到本地,python api是借助阿里云的export api 作为参考并进行完善的一套脚本工具。
有疑问或者执行过程中有问题可以在下面评论!
完整版
#!/usr/bin/env
python
#coding=utf-8
importrequests
importtime
importdatetime
importjson
importwget
fromaliyunsdkcore.clientimportAcsClient
fromaliyunsdkcore.acs_exception.exceptionsimportClientException
fromaliyunsdkcore.acs_exception.exceptionsimportServerException
fromaliyunsdkrds.request.v20140815.DescribeBackupsRequestimportDescribeBackupsRequest
client=AcsClient(‘AccessKey ID’,‘Access Key Secret’,‘cn-hangzhou’);#定义用户AccessKey信息
# AccessKey信息 ,需要在阿里云用户管理信息下创建
rdsId=“rm-bp1r415f1110mkz4b”#R定义DS实例ID变量
#配置备份文件开始及结束的时间
startTime=(datetime.date.today()-datetime.timedelta(days=-1)).strftime(“%Y-%m-%dT%H:%MZ”)#定义启动时间类型
endTime=datetime.date.today().strftime(“%Y-%m-%dT%H:%MZ”)#定义结束时间类型
#阿里云请求类型
request=DescribeBackupsRequest()
request.set_accept_format(‘json’)
request.set_DBInstanceId(rdsId)#RDS实例ID
request.set_BackupMode(“Manual”)#实例备份类型
Automated(自动)、Manual(手动)
request.set_BackupStatus(“Success”)#实例备份状态
#request.set_BackupId(backupId)
request.set_EndTime(startTime)#备份开始时间
request.set_StartTime(endTime)#备份结束时间
response=client.do_action_with_exception(request)
data=json.loads(response.decode(‘utf-8’))
forkeyindata[‘Items’][‘Backup’]:#过滤相关信息
#print(key[‘BackupDownloadURL’])
url=key[‘BackupDownloadURL’]#以url为变量进行存储文件下载链接
#print(url)
file=wget.download(url)#根据url变量存储的信息进行逐条运行