27 lines
644 B
Bash
27 lines
644 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
set -e -u
|
||
|
|
||
|
pool=prod
|
||
|
|
||
|
images=$( rbd -p "$pool" ls )
|
||
|
|
||
|
regexp='rbd_directory$|rbd_children$|rbd_info$'
|
||
|
for image in $images; do
|
||
|
prefix=$( rbd --format=json info "$pool/$image" | jq -r .block_name_prefix )
|
||
|
[[ "$prefix" =~ ^rbd_data\.([a-f0-9]+)$ ]] || exit 1
|
||
|
#echo "$image - $prefix"
|
||
|
image_id=${BASH_REMATCH[1]}
|
||
|
regexp="$regexp|rbd_[a-z_]+[.]$image_id([.][a-f0-9]+)?"
|
||
|
regexp="$regexp|rbd_id[.]$image"
|
||
|
done
|
||
|
regexp="^($regexp)\$"
|
||
|
|
||
|
rados -p "$pool" ls | egrep -v "$regexp" > extra.txt
|
||
|
|
||
|
# xargs rados -p "$pool" rm < extra.txt
|
||
|
|
||
|
#while read line; do
|
||
|
# rados -p "$pool" stat "$line"
|
||
|
#done < extra.txt > sizes.txt
|