#!/usr/bin/env bash . /etc/profile SO_PATH="/home/smart/SmartOrganizer" . ${SO_PATH}/lib.conf SmartTMS_BASE_PATH="/home/smart/.tms3/repo" SmartTMS_CONFIG_FILE="${SmartTMS_BASE_PATH}/SmartTMS_Upgrade.conf" SmartTMS_VERSION_PATH="${SmartTMS_BASE_PATH}/versions" SmartTMS_BACKUP_PATH="${SmartTMS_BASE_PATH}/backup" TARGET_VERSION=${1} DB_NAME="tms_db_s3" DB_PASSWORD="PythA90ra5" BACKUP_PATH="${SmartTMS_BACKUP_PATH}/${TARGET_VERSION}" TOMCAT_HOME="/home/smart/.tms3/apache-tomcat-*" stop_tomcat() { pid=`netstat -lntp | grep :8080 | awk '{print $7}' |cut -d'/' -f1` if [[ ! -z ${pid} ]]; then kill ${pid} echo "TOMCAT Stopped!" fi } start_tomcat() { sh ${TOMCAT_HOME}/bin/startup.sh # echo "TOMCAT Started!" } rollback_db() { sqls=($(ls ${BACKUP_PATH} | grep .sql)) num=${#sqls[@]} if [[ ${num} -gt 0 ]]; then sql=${sqls[num-1]} echo ">> Execute SQL ${TARGET_VERSION} ${BACKUP_PATH}/${sql}" mysql -uroot -p${DB_PASSWORD} ${DB_NAME} -f -s -N < ${BACKUP_PATH}/${sql} fi } rollback_war() { rm -rf ${TOMCAT_HOME}/webapps/SmartTMS* echo "Remove current version" cp ${BACKUP_PATH}/*.war ${TOMCAT_HOME}/webapps/ echo "Copy backup version to web directory" } if [[ -z ${TARGET_VERSION} || ! -d ${BACKUP_PATH} ]]; then echo "Backup version not given or not exists." echo "You may try these:" echo `ls ${SmartTMS_BACKUP_PATH}` exit 2 fi stop_tomcat sleep 10 rollback_db sleep 2 rollback_war sleep 4 start_tomcat echo "Done!"