国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python自定義阿里云RDS備份策略

ls0609 / 971人閱讀

摘要:一背景由于越來越多的客戶對應(yīng)數(shù)據(jù)安全的重視,目前阿里云提供了備份策略但是備份策略周期為每天的某一個時間,在日常云運維工作中,有客戶提出需要每天在不同的時間節(jié)點多備份幾次,此時界面就不能滿足此類在一天內(nèi)多次備份的需求,但是想到了在阿里云控制臺

一、背景

由于越來越多的客戶對應(yīng)數(shù)據(jù)安全的重視,目前阿里云RDS提供了備份策略,但是備份策略周期為每天的某一個時間,在日常云運維工作中,有客戶提出需要每天在不同的時間節(jié)點多備份幾次,此時web界面就不能滿足此類在一天內(nèi)多次備份的需求,但是想到了在阿里云web控制臺通過手動點擊創(chuàng)建備份,是可以在點擊后觸發(fā)創(chuàng)建備份的任務(wù),想到可以利用api來實現(xiàn),同時提交工單咨詢了下,果然此類需求是需要api來做,故寫了個調(diào)用python實例配合linux系統(tǒng)的crond服務(wù)來完成。

二、代碼

github地址

#!/bin/env python
# -*- coding:utf-8 -*-
# _author:kaliarch

from aliyunsdkcore import client
from aliyunsdkrds.request.v20140815 import CreateBackupRequest
import time
import os
import logging

class rdsOper():
    def __init__(self,logger):
        self.clentoper = client.AcsClient("LTAIhfXlcjyln****","Gwf****4K2ELmt76184o****gRfAso","cn-shanghai")
        self.logger = logger
        self.logger.info("------------------------start exec rds backup API log-------------")
    def backup_instance(self):
        # 設(shè)置參數(shù)
        request = CreateBackupRequest.CreateBackupRequest()
        request.set_accept_format("json")
        request.add_query_param("DBInstanceId", "rm-uf6xv3**1x842y61y")

        #如果為單庫備份,可以添加DBName
        # request.add_query_param("DBName", "mydb")

        #BackupMethod為備份方式:Logical:邏輯備份,Physical:物理備份
        request.add_query_param("BackupMethod", "Physical")
        #BackupType為備份類型: Auto:自動計算是全量備份還是增量備份;FullBackup:全量備份。默認值為Auto。
        request.add_query_param("BackupType", "Auto")

        response = self.clentoper.do_action_with_exception(request)
        self.logger.info("rdsbackup mission submission successful!")
        self.logger.info(response)
        print(response)


class Rds_Log:
    def __init__(self,filename):
        self.filename = filename
    def createDir(self):
        _LOGDIR = os.path.join(os.path.dirname(__file__), "rdsbackuplog")
        print(_LOGDIR)
        _TIME = time.strftime("%Y-%m-%d", time.gmtime()) + "-"
        _LOGNAME = _TIME + self.filename
        print(_LOGNAME)
        LOGFILENAME = os.path.join(_LOGDIR, _LOGNAME)
        print(LOGFILENAME)
        if not os.path.exists(_LOGDIR):
            os.mkdir(_LOGDIR)
        return LOGFILENAME

    def createlogger(self,logfilename):
        logger= logging.getLogger()
        logger.setLevel(logging.INFO)
        handler = logging.FileHandler(logfilename)
        handler.setLevel(logging.INFO)
        formater = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
        handler.setFormatter(formater)
        logger.addHandler(handler)
        return logger

if __name__ == "__main__":
    glploger = Rds_Log("rdsbackup.log")
    logfilename = glploger.createDir()
    logger = glploger.createlogger(logfilename)

    app = rdsOper(logger)
    app.backup_instance()
三、配合定時任務(wù)

在隨便服務(wù)器上傳代碼安裝好相關(guān)python的sdk后
制作定時任務(wù)

查看日志

查看后天有備份任務(wù)已經(jīng)提交完成

舉一反三,類似的可以參考阿里云rds的API完成其他需求,如何客戶對應(yīng)rds的備份頻率很高的話,可以開通災(zāi)備實例,來完成異地的實時備份,如果橫向擴展讀寫操作,可以開通多個只讀實例來分攤數(shù)據(jù)庫壓力。
https://help.aliyun.com/docum...

目前對應(yīng)數(shù)據(jù)庫的備份,阿里云新上線了DBS參考鏈接

支持ECS自建數(shù)據(jù)庫的異地備份

支持RDS數(shù)據(jù)庫的異地備份

支持本地IDC自建數(shù)據(jù)庫的異地備份

支持公網(wǎng)數(shù)據(jù)庫的異地備份(還包含部署在AWS、Azure、騰訊云等其他云計算廠商的數(shù)據(jù)庫)

此產(chǎn)品不僅支持眾多場景的數(shù)據(jù)庫備份,將其存儲在阿里云的OSS,并且可以設(shè)置加密存儲,上保障了備份數(shù)據(jù)的安全和可靠性,同時可以設(shè)置備份對象精細到表級別并且支持增量備份,同時可以配置備份的生命周期,可隨時利用備份數(shù)據(jù)簡單幾部就可以進行數(shù)據(jù)恢復(fù),測試了下,發(fā)現(xiàn)很好用,但是目前查看官網(wǎng)沒有對應(yīng)API,對于每天需要超過兩次以上的備份發(fā)現(xiàn)只能創(chuàng)建多個備份任務(wù)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41916.html

相關(guān)文章

  • 到底什么是TAE

    摘要:回滾部署開發(fā)者每次部署的程序包會自動備份到歷史版本,發(fā)布異常時,可以指定回滾部署到某一歷史版本。網(wǎng)絡(luò)方面采用了硬件防火墻設(shè)施,提供四層到七層的全面防護,防護類型包括等所有攻擊方式,支持清洗和黑洞機制,還接入了防護等功能。 TAE2.0(Taobao App Engine)是針對移動互聯(lián)網(wǎng)場景的定制化PaaS云服務(wù),基于阿里云基礎(chǔ)設(shè)施,采用Docker容器技術(shù)封裝應(yīng)用運行環(huán)境,并且針對互...

    novo 評論0 收藏0
  • 到底什么是TAE

    摘要:回滾部署開發(fā)者每次部署的程序包會自動備份到歷史版本,發(fā)布異常時,可以指定回滾部署到某一歷史版本。網(wǎng)絡(luò)方面采用了硬件防火墻設(shè)施,提供四層到七層的全面防護,防護類型包括等所有攻擊方式,支持清洗和黑洞機制,還接入了防護等功能。 TAE2.0(Taobao App Engine)是針對移動互聯(lián)網(wǎng)場景的定制化PaaS云服務(wù),基于阿里云基礎(chǔ)設(shè)施,采用Docker容器技術(shù)封裝應(yīng)用運行環(huán)境,并且針對互...

    yankeys 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<