#!/bin/bash

AWK=`which awk`
GREP=`which grep`
GZIP=`which gzip`
MYSQL=`which mysql`
MYSQLDUMP=`which mysqldump`

DATA_DIR=/home/backup.db.billing

DB_NAME=`$GREP db.url conf/application.xml | $AWK '{ sub(/.*\/\/[^/]+\//, ""); sub(/\?.*/, ""); print }'`
DB_HOST=`$GREP db.url conf/application.xml | $AWK '{ sub(/.*\/\//, ""); sub(/(:[0-9]+)?\/.*/, ""); print }'`
DB_USER=`$GREP db.user conf/application.xml | $AWK '{ sub(/.*value="/, ""); sub(/".*/, ""); print }'`
DB_PSWD=`$GREP db.pswd conf/application.xml | $AWK '{ sub(/.*value="/, ""); sub(/".*/, ""); print }'`

#echo "DB_NAME=${DB_NAME}"
#echo "DB_HOST=${DB_HOST}"
#echo "DB_USER=${DB_USER}"
#echo "DB_PSWD=${DB_PSWD}"

if [ -n "$DB_PSWD" ]
then
    DB_PSWD="-p$DB_PSWD"
fi

if [ ! -e $DATA_DIR/$1.gz ]
then
    eval "$MYSQLDUMP -h ${DB_HOST} -u $DB_USER $DB_PSWD $DB_NAME $1 | $GZIP - > $DATA_DIR/$1.gz"
    eval "$MYSQL -h ${DB_HOST} -u $DB_USER $DB_PSWD $DB_NAME -e \"DROP TABLE $1\""
fi
