72 lines
1.5 KiB
Bash
Executable File
72 lines
1.5 KiB
Bash
Executable File
#!/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!" |