Files
tms-arch-linux-calamares-in…/archiso/airootfs/home/smart/SmartOrganizer/scripts/rollback-tms.sh
2025-11-23 15:33:54 +08:00

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!"