From b3a7fa44c96f8492723a4f07ae491941d8ac8faa Mon Sep 17 00:00:00 2001 From: Vincent Riquer Date: Tue, 15 Nov 2011 19:48:37 +0100 Subject: [PATCH] detect interruption, skip rotation --- remote-backup | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/remote-backup b/remote-backup index f41eb88..4725092 100755 --- a/remote-backup +++ b/remote-backup @@ -129,6 +129,10 @@ rotateBackup() { then echo "Previous backup failed, skipping rotation." rm "$SNAPSHOT_RW/$NAME/daily.0" + elif [ -f "$SNAPSHOT_RW/$NAME/daily.0/unfinished.remote-backup" ] + then + echo "Previous backup interrupted, skipping rotation." + rm "$SNAPSHOT_RW/$NAME/daily.0/unfinished.remote-backup" else # step 1: delete the oldest snapshot, if it exists: if [ -d "$SNAPSHOT_RW/$NAME/daily.${MAX_ROTATE}" ] @@ -175,7 +179,11 @@ runBackup() { $RSYNC \ $RSYNC_OPTS \ "${REMOTE_LOCATION}" \ - "$SNAPSHOT_RW/$NAME/$1" + "$SNAPSHOT_RW/$NAME/$1" \ + || if [ -d "$SNAPSHOT_RW/$NAME/$1" ] + then + touch "$SNAPSHOT_RW/$NAME/$1/unfinished.remote-backup" + fi # step 5: update the mtime of daily.0 to reflect the snapshot time $TOUCH "$SNAPSHOT_RW/$NAME/$1"