From: Zoran Zaric Date: Mon, 6 Dec 2010 12:00:05 +0000 (+0100) Subject: Adds import-rsnapshot command. X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b73884466c802aea6d87baf205d7facf04158804;p=packages%2Fb%2Fbup.git Adds import-rsnapshot command. Signed-off-by: Zoran Zaric --- diff --git a/cmd/import-rsnapshot-cmd.sh b/cmd/import-rsnapshot-cmd.sh new file mode 100755 index 0000000..98b87c5 --- /dev/null +++ b/cmd/import-rsnapshot-cmd.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# bup-import-rsnapshot.sh + +# Does an import of a rsnapshot archive. + +usage() { + echo "Usage: bup import-rsnapshot [-n]" \ + " []" + echo "-n,--dry-rung: don't do anything just print out what would be done" + exit -1 +} + +if [ "$1" == "-n" ] || [ "$1" == "--dry-run" ]; then + bup () { echo "bup $@"; } + shift 1 +fi + +[ "$#" -eq 1 ] || [ "$#" -eq 2 ] || usage + +if [ ! -e "$1/." ]; then + echo "$1 isn't a directory!" + exit -1 +fi + +TARGET= +[ "$#" -eq 2 ] && TARGET="$2" + + +ABSPATH=`readlink -f "$1"` + +for SNAPSHOT in "$ABSPATH/"*; do + if [ -e "$SNAPSHOT/." ]; then + for BRANCH_PATH in "$SNAPSHOT/"*; do + if [ -e "$BRANCH_PATH/." ]; then + # Get the snapshot's ctime + DATE=`stat -c %Z "$BRANCH_PATH"` + BRANCH=`basename "$BRANCH_PATH"` + TMPIDX="/tmp/$BRANCH" + + if [ "$TARGET" == "" ] || [ "$TARGET" == "$BRANCH" ]; then + bup index -ux \ + $BRANCH_PATH/ + bup save \ + --strip \ + --date=$DATE \ + -n $BRANCH \ + $BRANCH_PATH/ + + if [ -e "$TMPIDX" ]; then + rm "$TMPIDX" + fi + fi + fi + done + fi +done +