summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGavin Romig-Koch <gavin@localhost.localdomain>2009-08-15 11:21:23 -0400
committerGavin Romig-Koch <gavin@localhost.localdomain>2009-08-15 11:21:23 -0400
commite821a147b7f23845bf78f15110efe770e7d4f74c (patch)
treea5a048dcbe780b4d206781a120c7ab71d408ca45
parent955cde6bbb43f6854c07bcc773c2152d77ccfd26 (diff)
downloadfastback-e821a147b7f23845bf78f15110efe770e7d4f74c.tar.gz
fastback-e821a147b7f23845bf78f15110efe770e7d4f74c.tar.xz
fastback-e821a147b7f23845bf78f15110efe770e7d4f74c.zip
add fastback-unload-receipt, fastback-check, and fetch-from-indus
-rwxr-xr-xfastback-check78
-rwxr-xr-xfastback-unload-receipt79
-rwxr-xr-xfetch-from-indus8
3 files changed, 165 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
+
diff --git a/fastback-unload-receipt b/fastback-unload-receipt
new file mode 100755
index 0000000..b9b2f61
--- /dev/null
+++ b/fastback-unload-receipt
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+RECEIPT=$1
+
+if [ "$2" = "" ]; then
+ DO_FETCH=false
+elif [ "$2" = "fetch" ]; then
+ DO_FETCH=true
+else
+ echo >&2 "Error: invalid second argument: $2"
+ exit 2
+fi
+
+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" = "MD5SUM:" ]; then
+ if ! read MD5LINE; then
+ echo >&2 "Error: unable to read MD5SUM"
+ exit 2
+ fi
+ #echo found MD5LINE: $MD5LINE
+ fi
+ if [ "$FIRST" = "KEY:" ]; then
+ KEYCODE=$REST
+ if [ -z "$KEYCODE" ]; then
+ echo >&2 "Error: key code name missing from \"KEY:\" line"
+ exit 2
+ fi
+ if ! read KEYLINE; then
+ echo >&2 "Error: unable to read encryption key"
+ exit 2
+ fi
+ #echo found KEY: $KEYCODE $KEYLINE
+ fi
+ if [ "$FIRST" = "END:" ]; then
+ if [ -z "$FILE" ]; then
+ echo >&2 "Error: no file name found in receipt: $RECEIPT"
+ exit 2
+ fi
+
+ if $DO_FETCH; then
+ ./fetch-from-indus $FILE
+ fi
+
+ if [ -z "$MD5LINE" ]; then
+ echo >&2 "Error: no md5sum found in receipt: $RECEIPT"
+ exit 2
+ else
+ #echo "MD5LINE:$MD5LINE"
+ echo "\"md5sum --check\" reports:"
+ echo "$MD5LINE" | md5sum --check -
+ fi
+
+ if [ ! -z "$KEYLINE" ]; then
+ OUTFILE=${FILE%.aes}
+ if [ "$OUTFILE" = "$FILE" ]; then
+ OUTFILE=$FILE.decoded
+ fi
+ if openssl $KEYCODE -d -in $FILE -out $OUTFILE -pass pass:$KEYLINE; then
+ echo decode file writen to $OUTFILE
+ fi
+ fi
+ fi
+done
diff --git a/fetch-from-indus b/fetch-from-indus
new file mode 100755
index 0000000..cae7ee1
--- /dev/null
+++ b/fetch-from-indus
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+
+
+scp root@indus.usersys.redhat.com:/var/ftp/incoming/$1 .
+#echo "this is junk" >$1
+
+