summaryrefslogtreecommitdiffstats
path: root/fastback-check
diff options
context:
space:
mode:
Diffstat (limited to 'fastback-check')
-rwxr-xr-xfastback-check78
1 files changed, 78 insertions, 0 deletions
diff --git a/fastback-check b/fastback-check
new file mode 100755
index 0000000..4d41532
--- /dev/null
+++ b/fastback-check
@@ -0,0 +1,78 @@
+#!/bin/bash
+
+ORIG=$1
+
+if [ ! -e $ORIG ]; then
+ echo >&2 "Error: no such file $ORIG"
+ exit 2
+fi
+
+if [ "$2" = "encrypt" ]; then
+ DO_ENCRYPT="-e"
+ shift
+else
+ DO_ENCRYPT=""
+fi
+
+if [ "$2" = "" ]; then
+ DO_TICKET=
+elif [ "$2" = "new" ]; then
+ DO_TICKET="-n"
+else
+ DO_TICKET="-t $2"
+fi
+
+RECEIPT=GLRK-receipt
+./fastback $DO_TICKET $DO_ENCRYPT $ORIG >$RECEIPT
+
+if [ ! -e $RECEIPT ]; then
+ echo >&2 "Error: no such file $RECEIPT"
+ exit 2
+fi
+
+cat $RECEIPT | while read FIRST REST ; do
+ #echo "FIRST:" $FIRST
+ #echo "REST:" $REST
+
+ if [ "$FIRST" = "FILE:" ]; then
+ export FILE=$REST
+ if [ -z "$FILE" ]; then
+ echo >&2 "Error: file name missing from \"FILE:\" line"
+ exit 2
+ fi
+ #echo found FILE: $FILE
+ fi
+ if [ "$FIRST" = "END:" ]; then
+ if [ -z "$FILE" ]; then
+ echo >&2 "Error: no file name found in receipt: $RECEIPT"
+ exit 2
+ fi
+
+ ./fetch-from-indus $FILE
+
+ ./unload-receipt $RECEIPT
+
+ FETCHED=${FILE%.aes}
+
+ # if the fetched file has a trailing .gz
+ # but the orig doesn't then assume fastback did compression
+ # and use zdiff to do compare
+ if [ "$FETCHED" != "${FETCHED%.gz}" -a "$ORIG" = "${ORIG%.gz}" ]; then
+ if ! zdiff $ORIG $FETCHED ; then
+ echo "differ: ORIG ($ORIG) and FETCHED ($FETCHED)"
+ else
+ echo "same: ORIG: ($ORIG) and FETCHED ($FETCHED)"
+ rm GLRK*
+ fi
+ else
+ # otherwize just use diff
+ if ! diff $ORIG $FETCHED ; then
+ echo "differ: ORIG ($ORIG) and FETCHED ($FETCHED)"
+ else
+ echo "same: ORIG: ($ORIG) and FETCHED ($FETCHED)"
+ rm GLRK*
+ fi
+ fi
+ fi
+done
+