#! /bin/bash
#Title           :st_backup.sh
#Description     :This script will backup your SecureTransport server without any old logging data (i.e. this backup *will not* include <FDHOME>/var/db/hist folder).
#Date Created    :2014
#Author          :Kostadin Petkov
#Version         :1.0
#Configuration   :Change the 'BACKUP_DIR' to the desired location.
#===============================================================================================================================================#

############### Config Section ###############
. /etc/fd/env.sh*
FDHOME="${FILEDRIVEHOME}"
BACKUP_DIR="${HOME}"
DATE=`date '+%m%d%y'`
STOP_ALL="${FILEDRIVEHOME}/bin/stop_all"
START_ALL="${FILEDRIVEHOME}/bin/start_all"
############### End Config Section ###############

test -d ${BACKUP_DIR} && mkdir -p ${BACKUP_DIR}

check_ret(){
        if [[ "x${1}" != "x0" ]]; then
                echo "Last command exited with ${1}. Exiting"
                exit 1
        else
                echo "OK"
        fi

}

back_up(){
        echo "=== BACKING UP ${FDHOME} ==="
        tar -cvzPf ${BACKUP_DIR}/st_full_backup-${DATE}.tgz ${FDHOME} /etc/fd/ --exclude=${FDHOME}/var/db/hist/* 1>> ${BACKUP_DIR}/archived_folders.log
        check_ret ${?}
}

create_zip(){
        echo "=== ZIPPING THE ${BACKUP_DIR}/st_full_backup-${DATE}.tar file  ==="
        gzip ${BACKUP_DIR}/st_full_backup-${DATE}.tgz
        check_ret ${?}
}

stop_all_st(){
        clear
        echo "=== STOPPING ALL SERVICES ==="
        ${STOP_ALL}
        sleep 1
}

start_all_st(){
        echo ""
        echo "========================"
        echo "=== PROCESS COMPLETE ==="
        echo "========================"
        echo ""
        echo "YOUR BACKUP IS READY: ${BACKUP_DIR}/st_full_backup-${DATE}.tar.gz"
        echo ""
        echo "=== STARTING ALL SERVICES ==="
        ${START_ALL}
        sleep 30
}

# Main #
stop_all_st
back_up
#create_zip
start_all_st