first commit

This commit is contained in:
zj
2025-12-28 15:15:19 +08:00
commit 42d43f7342
606 changed files with 14592 additions and 0 deletions

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

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