From: FSF BOFH Date: Tue, 26 Jul 2011 22:05:43 +0000 (-0400) Subject: Cleanup tmp directory if cp -lR fails X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=1d1badd9b0d11377529245d2a6198865d08cc6b0;p=wizbackup.git Cleanup tmp directory if cp -lR fails --- diff --git a/wizbackup b/wizbackup index e023ab9..f857379 100755 --- a/wizbackup +++ b/wizbackup @@ -26,8 +26,8 @@ if [ $# -lt 2 ]; then exit 1 fi -# Fail on any error; Treat undefined variables as errors -set -e -u +# Treat undefined variables as errors +set -u ##################################################################### # CONFIGURATION @@ -125,12 +125,20 @@ do_link() echo "$(date): Linking snapshot $DEST/$newest to $DEST/tmp" # TODO: Creating the hardlinks takes a lot of time. # Perhaps we could save time by recycling the oldest snapshot - cp -lR "$DEST/$newest" "$DEST/tmp" || exit 670 + cp -lR "$DEST/$newest" "$DEST/tmp" + RESULT=$? + if [ $RESULT -ne 0 ]; then + echo "$(date): Failed to setup tmp snapshot: $RESULT. Cleaning up." + rm -rf "$DEST/tmp" + exit $RESULT + fi fi } do_test() { + # TODO: test for free space and free inodes in the $DEST filesystem + # Avoid clobbering the latest snapshot if the remote host does # not allow us to connect # --contimeout: sometimes hangs on connection...