
header(){
	echo 
	echo "##################################"
	echo "#### $1"
	echo "##################################"
	echo
}

sync_to_prod(){
	header "Syncing from $1 to $REMOTE_BACKUP_PATH"
    rsync -Pav -e "ssh -i $PROD_KEY" $1 $PROD_USER@$PROD_SERVER:$REMOTE_BACKUP_PATH
	header "Synced from $1 to $REMOTE_BACKUP_PATH"
}

exec_on_remote(){
	header "Executing on Remote ${PROD_SERVER}"
	ssh -i ${PROD_KEY}  ${PROD_USER}@${PROD_SERVER} $@
}

exec_on_remote_script(){
    local script="$1"

    header "Executing ${script} on Remote ${PROD_SERVER}"

    ssh -i "${PROD_KEY}" \
        "${PROD_USER}@${PROD_SERVER}" \
        "sudo bash -s" < "${script}"
}

exec_on_remote_script_with_config(){
    header "Executing deployment on Remote ${PROD_SERVER}"

    cat config.sh func_common.sh func_remote.sh | \
    ssh -i "${PROD_KEY}" \
        "${PROD_USER}@${PROD_SERVER}" \
        "sudo bash -s"
}

mysql_dump_tables(){
	header "Dumping ${ACC_DB_NAME} Database Tables to ${ACC_BKP_PATH}"
    mysqldump -u ${ACC_DB_USER} -p${ACC_DB_PASS} ${ACC_DB_NAME} --tables $1 > ${ACC_BKP_PATH}/${ACC_DB_NAME}_tables.sql
	header "Dumped ${ACC_DB_NAME} Database Tables to ${ACC_BKP_PATH}"
}

mysql_dump_backup(){
	header "Dumping Database ${ACC_DB_NAME} to ${ACC_BKP_PATH}"
    mysqldump -u ${ACC_DB_USER} -p${ACC_DB_PASS} ${ACC_DB_NAME} > ${ACC_BKP_PATH}/${ACC_DB_NAME}_$(date +%Y%m%d%H%M%S).sql
	header "Dumped Database ${ACC_DB_NAME} to ${ACC_BKP_PATH}"
}

mysql_restore(){
	header "Restoring Database ${ACC_DB_NAME} from $1"
	mysql -u ${ACC_DB_USER} -p${ACC_DB_PASS} ${ACC_DB_NAME} < $1
}

