Select Git revision
delete_all.sh
Ing. Michal Švamberg authored
delete_all.sh 1.08 KiB
#!/bin/bash
: ${BUCKET_NAME:=restictmp}
: ${PROFILE:="cesnet_listvm_backup"}
CESNET="--endpoint-url https://s3.cl4.du.cesnet.cz --profile ${PROFILE}"
# Get list of all object versions
aws ${CESNET} s3api list-object-versions --bucket "${BUCKET_NAME}" --output json | jq -r '.Versions[] | .Key + " " + .VersionId ' > /tmp/versions.txt
# Delete all object versions
while read -r LINE; do
KEY=$(awk '{print $1}' <<< "$LINE")
VERSION_ID=$(awk '{print $2}' <<< "$LINE")
aws ${CESNET} s3api delete-object --bucket "$BUCKET_NAME" --key "$KEY" --version-id="$VERSION_ID"
done < /tmp/versions.txt
# Get list of all delete markers
aws ${CESNET} s3api list-object-versions --bucket "$BUCKET_NAME" --output json | jq -r '.DeleteMarkers[] | .Key + " " + .VersionId ' > /tmp/delete_markers.txt
# Delete all delete markers
while read -r LINE; do
KEY=$(awk '{print $1}' <<< "$LINE")
VERSION_ID=$(awk '{print $2}' <<< "$LINE")
aws ${CESNET} s3api delete-object --bucket "$BUCKET_NAME" --key "$KEY" --version-id="$VERSION_ID"
done < /tmp/delete_markers.txt
rm /tmp/versions.txt
rm /tmp/delete_markers.txt