Shell脚本-一键部署升级Jar

一键部署升级Jar

# 一键部署升级Jar
#!/bin/bash

dateNum=`date +%Y%m%d`
workdir=`cd $(dirname $0); pwd`
echo '工作目录' $workdir
update_dir=$workdir/$dateNum
echo '升级包目录' $update_dir

APP_NAME=""
app_file="server"
app_dir=$workdir/$app_file
echo '应用目录' $app_dir

mysql_user="root"
mysql_passwd="C"
mysql_host="192"
APP_DB="nr"


echo  '开始停止服务'
pid=$(ps -aux | grep  $APP_NAME | grep -v  grep | awk '{print $2}')
if test  $pid ;
then
	echo   '服务正在运行,停止中…'
	kill -9  $pid
	echo   '服务已停止'
else
	echo ‘服务未运行’
fi


echo  '创建备份目录'
mkdir  -p   $workdir/bak/$dateNum
bak_dir=$workdir/bak/$dateNum

echo  '开始检查是否需要更新数据库脚本'
if test -e $update_dir/*.sql ;
then
	echo ‘备份数据库…’
	mysqldump -u$mysql_user  -p$mysql_passwd   -h $mysql_host  $APP_DB > $bak_dir/$APP_DB_$dateNum.sql
	echo ‘更新数据库…’
	mysql  -u$mysql_user  -p$mysql_passwd   -h $mysql_host  $APP_DB < $update_dir/*.sql
else
	echo '无数据库更新脚本'
fi

echo  '开始检查是否需要更新应用jar包'
if test -e $update_dir/*.jar ;
then
	echo  ‘备份jar包‘
	mv    $app_dir/$APP_NAME    $bak_dir
	echo ‘更新jar包‘
	cp   $update_dir/*.jar     $app_dir
else
	echo ‘无jar包更新’
fi

echo  '开始启动服务'
cd  $app_dir
sh  $app_dir/start.sh

echo  '检查服务是否启动成功'
pid=$(ps -aux | grep  $APP_NAME | grep -v  grep | awk '{print $2}')
if test  $pid ; then
	echo "$APP_NAME is running. Pid is $pid"
else
	echo "$APP_NAME is NOT running."
fi

posted @ 2021-09-13 16:04  难删亦删  阅读(556)  评论(0)    收藏  举报