Index: trunk/tools/mysql-dump/gpc1_copy.sh
===================================================================
--- trunk/tools/mysql-dump/gpc1_copy.sh	(revision 31195)
+++ trunk/tools/mysql-dump/gpc1_copy.sh	(revision 31195)
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+# This script is supposed to be executed on ipp001
+
+. /home/panstarrs/ipp/mysql-dump/functions.sh
+
+SOURCE_HOST=ippc02
+HOST=ipp001
+
+SOURCE=ipp@$SOURCE_HOST:/export/$SOURCE_HOST.0/mysql-dumps
+TARGET=/export/$HOST.0/ipp/mysql-dumps
+
+MD5FILE=gpc1_checksum.md5
+
+MAX_ITERATIONS=200
+SLEEPING_TIME=60
+
+MD5_COPY_STATUS=1
+ITERATION=1
+while [ "$MD5_COPY_STATUS" -ne "0" ]; do
+	/usr/bin/scp -q $SOURCE/$MD5FILE $TARGET 2> /dev/null
+	MD5_COPY_STATUS=$?
+	if [ "$MD5_COPY_STATUS" -ne "0" ]; then
+		log WARNING "MD5 file not found on $SOURCE_HOST. Waiting $SLEEPING_TIME seconds (Attempt: $ITERATION out of $MAX_ITERATIONS)"
+		log DEBUG "/usr/bin/scp -q $SOURCE/$MD5FILE $TARGET"
+		sleep $SLEEPING_TIME
+	else 
+		log DEBUG "Checking size of $TARGET/$MD5FILE"
+		if [ ! -s $TARGET/$MD5FILE ]; then
+			log WARNING "MD5 file has zero-size. Waiting $SLEEPING_TIME seconds (Attempt: $ITERATION out of $MAX_ITERATIONS)"
+			MD5_COPY_STATUS=1
+			sleep $SLEEPING_TIME
+		fi
+	fi
+	let ITERATION=ITERATION+1
+	if [ "$ITERATION" -ge "$MAX_ITERATIONS" ]; then
+                log ERROR "Copy of $SOURCE/$MD5FILE failed after $ITERATION iterations. Giving up"
+		exit 1
+	fi
+done
+
+log INFO "MD5 file successfully copied ($TARGET/$MD5FILE)"
+
+EXPECTED_MD5SUM=`cat $TARGET/$MD5FILE | sed 's/ .*$//'`
+FILE_TO_COPY=`cat $TARGET/$MD5FILE | sed 's/^.* \//\//'`
+FILE_TO_COPY=`basename $FILE_TO_COPY`
+
+log INFO "Copying [$FILE_TO_COPY] now (expected MD5 sum: [$EXPECTED_MD5SUM])"
+/usr/bin/scp -q $SOURCE/$FILE_TO_COPY $TARGET > /dev/null
+if [ "$?" -ne "0" ]; then
+	log ERROR "Can't copy gpc1 backup file [$FILE_TO_COPY]"
+	exit 2
+else
+	log INFO "Gpc1 backup file [$FILE_TO_COPY] successfully copied"
+fi
+
+log INFO "Checking gpc1 backup file now"
+ACTUAL_MD5SUM=`/usr/bin/md5sum $TARGET/$FILE_TO_COPY | sed 's/ .*$//'`
+
+if [ "$ACTUAL_MD5SUM" != "$EXPECTED_MD5SUM" ]; then
+	log ERROR "Checksums are different: actual=[$ACTUAL_MD5SUM], expected=[$EXPECTED_MD5SUM]"
+	exit 3
+fi
+
+log INFO "Successfully done with [$TARGET/$FILE_TO_COPY]"
+
+exit 0
+
