The Snapshot Tool for Amazon RDS automates the task of creating manual snapshots, copying them into a different account and a different region, and deleting them after a specified number of days
Hi All, I am new to Python, I am trying to delete RDS snapshots based on some conditions, actually it should not be only based on time as we have daily weekly and monthly backup but deleting the backup based on time is not possible as AWS RDS API doesn’t support that. if Anyone has done this, deleting a python code based on name and date, possible to help me here.
This is my code
import boto3
import datetime
def lambda_handler(event, context):
print(“Connecting to RDS”)
client = boto3.client(‘rds’)
response = client.describe_db_snapshots(
SnapshotType='manual',
Name=ndi-spcp-'dbname-20-02-19-10'
)
for snapshot in response(DBInstanceIdentifier=‘dbane’, MaxRecords=50)[‘DBSnapshots’]:
create_ts = snapshot[‘SnapshotCreateTime’].replace(tzinfo=None)
if create_ts < datetime.datetime.now() - datetime.timedelta(days=7):
print(“Deleting snapshot id:”, snapshot[‘DBSnapshotIdentifier’])
boto3.client(‘rds’).delete_db_snapshot(
DBSnapshotIdentifier=snapshot[‘DBSnapshotIdentifier’]
)
Hi All, I am new to Python, I am trying to delete RDS snapshots based on some conditions, actually it should not be only based on time as we have daily weekly and monthly backup but deleting the backup based on time is not possible as AWS RDS API doesn’t support that. if Anyone has done this, deleting a python code based on name and date, possible to help me here.
This is my code import boto3 import datetime
def lambda_handler(event, context): print(“Connecting to RDS”) client = boto3.client(‘rds’)
response = client.describe_db_snapshots( SnapshotType='manual', Name=ndi-spcp-'dbname-20-02-19-10' ) for snapshot in response(DBInstanceIdentifier=‘dbane’, MaxRecords=50)[‘DBSnapshots’]: create_ts = snapshot[‘SnapshotCreateTime’].replace(tzinfo=None) if create_ts < datetime.datetime.now() - datetime.timedelta(days=7): print(“Deleting snapshot id:”, snapshot[‘DBSnapshotIdentifier’]) boto3.client(‘rds’).delete_db_snapshot( DBSnapshotIdentifier=snapshot[‘DBSnapshotIdentifier’] )