first commit
This commit is contained in:
73
archiso/airootfs/home/smart/SmartOrganizer/common/SmartTMS_S3/rollback.sh
Executable file
73
archiso/airootfs/home/smart/SmartOrganizer/common/SmartTMS_S3/rollback.sh
Executable file
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
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} ]]; then
|
||||
echo "Target version rollback to must be given!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ ! -d ${BACKUP_PATH} ]]; then
|
||||
echo "Backup version not exists. [ ${BACKUP_PATH} ], exit!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
stop_tomcat
|
||||
sleep 10
|
||||
|
||||
rollback_db
|
||||
sleep 2
|
||||
|
||||
rollback_war
|
||||
sleep 4
|
||||
|
||||
start_tomcat
|
||||
|
||||
echo "Done!"
|
||||
142
archiso/airootfs/home/smart/SmartOrganizer/common/SmartTMS_S3/upgrade.sh
Executable file
142
archiso/airootfs/home/smart/SmartOrganizer/common/SmartTMS_S3/upgrade.sh
Executable file
@@ -0,0 +1,142 @@
|
||||
#!/bin/bash
|
||||
|
||||
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"
|
||||
|
||||
CURRENT_VERSION=${1}
|
||||
TARGET_VERSION=${2}
|
||||
DB_NAME="tms_db_s3"
|
||||
DB_PASSWORD="PythA90ra5"
|
||||
VERSION_PATH="${SmartTMS_VERSION_PATH}/${TARGET_VERSION}"
|
||||
BACKUP_PATH="${SmartTMS_BACKUP_PATH}/${CURRENT_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
|
||||
}
|
||||
|
||||
backup_db()
|
||||
{
|
||||
if [[ ! -d ${BACKUP_PATH} ]]; then
|
||||
mkdir -p ${BACKUP_PATH}
|
||||
fi
|
||||
BACKUP_SQL_FILE=${BACKUP_PATH}/${DB_NAME}"_"${CURRENT_VERSION}"_"`date -d today +"%Y%m%d%H%M"`.sql
|
||||
mysqldump -uroot -p${DB_PASSWORD} --default-character-set=utf8 ${DB_NAME} > ${BACKUP_SQL_FILE}
|
||||
echo "Backup database to [ ${BACKUP_SQL_FILE} ]"
|
||||
}
|
||||
|
||||
backup_war()
|
||||
{
|
||||
if [[ ! -d ${BACKUP_PATH} ]]; then
|
||||
mkdir -p ${BACKUP_PATH}
|
||||
fi
|
||||
\cp ${TOMCAT_HOME}/webapps/*.war ${BACKUP_PATH}/
|
||||
echo "Backup war ... completed!"
|
||||
rm -rf ${TOMCAT_HOME}/webapps/SmartTMS*
|
||||
echo "Remove old version"
|
||||
}
|
||||
|
||||
excute_sql()
|
||||
{
|
||||
sqls=$(ls ${VERSION_PATH}/sql)
|
||||
arr=($(get_version_range "${sqls}"))
|
||||
|
||||
for version in ${arr[@]}
|
||||
do
|
||||
sql=${VERSION_PATH}/sql/${version}/$(ls ${VERSION_PATH}/sql/${version} | grep sql)
|
||||
if [[ -f ${sql} ]]; then
|
||||
echo ">> Execute SQL ${version} ${sql}"
|
||||
mysql -uroot -p${DB_PASSWORD} ${DB_NAME} -f -s -N < ${sql}
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
get_version_range()
|
||||
{
|
||||
# filter
|
||||
source=($1)
|
||||
result=()
|
||||
for version in ${source[@]}; do
|
||||
if [[ `version_compare ${version} ${CURRENT_VERSION}` == 1 ]]; then
|
||||
result+=("${version}")
|
||||
fi
|
||||
done
|
||||
|
||||
# sort
|
||||
for (( i=0; i<${#result[@]}; i++ )); do
|
||||
for (( j=${#result[@]}-1; j>i; j-- )); do
|
||||
if [[ `version_compare ${result[j]} ${result[j-1]}` == -1 ]]; then
|
||||
t=${result[j]}
|
||||
result[j]=${result[j-1]}
|
||||
result[j-1]=${t}
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
echo ${result[@]}
|
||||
}
|
||||
|
||||
update_war()
|
||||
{
|
||||
cp ${VERSION_PATH}/*.war ${TOMCAT_HOME}/webapps/
|
||||
echo "Copy new version to web directory"
|
||||
}
|
||||
|
||||
start_tomcat()
|
||||
{
|
||||
sh ${TOMCAT_HOME}/bin/startup.sh
|
||||
# echo "TOMCAT Started!"
|
||||
}
|
||||
|
||||
if [[ -z ${CURRENT_VERSION} || -z ${TARGET_VERSION} ]]; then
|
||||
echo "Usage: CURRENT_VERSION and TARGET_VERSION is necessary!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ $(version_compare ${CURRENT_VERSION} ${TARGET_VERSION}) != -1 ]]; then
|
||||
echo "No upgrade required!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ ! -f ${VERSION_PATH}/SmartTMS_S3.war ]]; then
|
||||
rm -rf ${VERSION_PATH}
|
||||
echo "Has some problem of package file! EXIT!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
#version_compare 3.0.12 3.1.12
|
||||
|
||||
#kill tomcat
|
||||
stop_tomcat
|
||||
sleep 10
|
||||
|
||||
#back db
|
||||
backup_db
|
||||
sleep 2
|
||||
|
||||
#excute sql file
|
||||
excute_sql
|
||||
sleep 2
|
||||
|
||||
#back war
|
||||
backup_war
|
||||
sleep 2
|
||||
|
||||
#update war
|
||||
update_war
|
||||
sleep 4
|
||||
|
||||
#start tomcat
|
||||
start_tomcat
|
||||
|
||||
echo "Done!"
|
||||
Reference in New Issue
Block a user