diff options
Diffstat (limited to 'fastback-check')
-rwxr-xr-x | fastback-check | 78 |
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 + |