From 83fd4294d3fc8b23bf59f8b5986ee03d69c2bc32 Mon Sep 17 00:00:00 2001 From: Max Mehl Date: Wed, 13 Dec 2023 12:20:00 +0100 Subject: [PATCH] delete old backup dir after backup sources have been completed --- uberspace-backup.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/uberspace-backup.sh b/uberspace-backup.sh index 1f07a84..9801763 100755 --- a/uberspace-backup.sh +++ b/uberspace-backup.sh @@ -144,13 +144,14 @@ while read -r line; do cp "${DEST}".tar.gpg "${DEST_FINAL}/" rm "${DEST}".tar.gpg - # Delete all old directories except the $MAXBAK most recent - if [ $(ls -tp "${BACKUPDIR}"/"${RHOST}"/ | grep '/$' | wc -l | tr -d ' ') -gt $MAXBAK ]; then - oldbackups=$(ls -tp "${BACKUPDIR}"/"${RHOST}"/ | grep '/$' | tail -n +$(($MAXBAK + 1))) - logecho "${RHOST}: Removing older backups of $(basename "${DEST}"): ${oldbackups}" - ls -tpd "${BACKUPDIR}"/"${RHOST}"/* | grep '/$' | tail -n +$(($MAXBAK + 1)) | xargs -0 | xargs rm -r -- - fi - done + done # End of loop through all backup sources + + # Delete all old directories except the $MAXBAK most recent + if [ $(ls -tp "${BACKUPDIR}"/"${RHOST}"/ | grep '/$' | wc -l | tr -d ' ') -gt $MAXBAK ]; then + oldbackups=$(ls -tp "${BACKUPDIR}"/"${RHOST}"/ | grep '/$' | tail -n +$(($MAXBAK + 1))) + logecho "${RHOST}: Removing older backup directories: ${oldbackups}" + ls -tpd "${BACKUPDIR}"/"${RHOST}"/* | grep '/$' | tail -n +$(($MAXBAK + 1)) | xargs -0 | xargs rm -r -- + fi done < "$HOSTS"