Bulk Delete S3 Objects by LastModified Date

Bulk Delete S3 Objects by LastModified Date
SHARE

This simple script will look through a bucket to find all objects that match a LastModified date and delete. This can be adjusted to delete objects before, after, or matching the date specified. Use at your own risk.

import boto3 from datetime import datetime, timezone s3 = boto3.client("s3") bucket = "INSERT_BUCKET_NAME" paginator = s3.get_paginator("list_objects_v2") pages = paginator.paginate(Bucket=bucket) date_check = datetime(2021, 11, 1) keys_to_delete = [] for page in pages: for object in page["Contents"]: if object["LastModified"] > date_check.replace(tzinfo=timezone.utc): keys_to_delete.append({"Key": object["Key"]}) s3.delete_objects(Bucket=bucket, Delete={"Objects": keys_to_delete})

Gist here.