Skip to content

Instantly share code, notes, and snippets.

@aroder
Forked from JProffitt71/s3cmdclearfiles
Created September 12, 2022 22:26
Show Gist options
  • Save aroder/1e01fc3a794888fb28ad21526e8d6a62 to your computer and use it in GitHub Desktop.
Save aroder/1e01fc3a794888fb28ad21526e8d6a62 to your computer and use it in GitHub Desktop.
Uses s3cmd to manually remove files older than specified date (##d|m|y) in a specified bucket
#!/bin/bash
# Usage: ./s3cmdclearfiles "bucketname" "30d"
s3cmd ls s3://$1 | grep " DIR " -v | while read -r line;
do
createDate=`echo $line|awk {'print $1" "$2'}`
createDate=`date -j -f "%Y-%m-%d %H:%M" "$createDate" +%s`
olderThan=`date -j -v-$2 +%s`
if [[ $createDate -lt $olderThan ]]
then
fileName=`echo $line|awk {'print $4'}`
if [[ $fileName != "" ]]
then
printf 'Deleting "%s"\n' $fileName
s3cmd del "$fileName"
fi
fi
done;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment