aws lambda自动备份RDS快照

git地址:
https://gist.github.com/mzupan/41d01bfb3b4c292fdac0
可能实际应用会有问题,既然找到了就先记录下
这个是lambda的触发时需要cloudwatch的cron任务配合的,可以自定义触发时间,然后lambda只负责触发后的操作

import boto3
import datetime

def lambda_handler(event, context):
    print("Connecting to RDS")
    client = boto3.client('rds')
    
    print("RDS snapshot backups stated at %s...\n" % datetime.datetime.now())
    client.create_db_snapshot(
        DBInstanceIdentifier='web-platform-slave', 
        DBSnapshotIdentifier='web-platform-%s' % datetime.datetime.now().strftime("%y-%m-%d-%H"),
        Tags=[
            {
                'Key': 'CostCenter',
                'Value': 'web'
            },
        ]
    )
    
    for snapshot in client.describe_db_snapshots(DBInstanceIdentifier='web-platform-slave', MaxRecords=50)['DBSnapshots']:
        if create_ts < datetime.datetime.now() - datetime.timedelta(days=7):
            print "Deleting snapshot id:", snapshot['DBSnapshotIdentifier']
            client.delete_db_snapshot(
                DBSnapshotIdentifier=snapshot['DBSnapshotIdentifier']
            )

其他类似
https://github.com/awslabs/rds-snapshot-tool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值