only leave the freshest backup of each volume
This commit is contained in:
21
cleanup-backups.sh
Executable file
21
cleanup-backups.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Directory containing the backup files
|
||||
backup_dir="/backup"
|
||||
|
||||
# Get a list of all backup files
|
||||
backup_files=$(find "$backup_dir" -type f -name 'rpc_*-*.tar.zst')
|
||||
|
||||
# Iterate through each backup file
|
||||
for file in $backup_files; do
|
||||
# Extract volume name from the file name
|
||||
volume_name=$(basename "$file" | cut -d '-' -f 1-3)
|
||||
|
||||
# Get the latest backup file for this volume name
|
||||
latest_backup=$(find "$backup_dir" -type f -name "$volume_name-*" -printf "%T@ %p\n" | sort -n | tail -1 | cut -d ' ' -f 2)
|
||||
|
||||
# Keep only the latest backup file for this volume name
|
||||
if [[ "$file" != "$latest_backup" ]]; then
|
||||
echo "$file"
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user