一键部署升级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