1、创建 sh脚本 touch xxx.sh
2、vim xxx.sh
#!/bin/bash
TODAY_DATE=`date +%Y%m%d`
NOW_TIME=`date +%Y%m%d_%H%M%S`
#jar运用目录
BASE_HOME=/home/xxx/server
#备份目录
BACKUP_HOME=/home/xxx/backup
#更新jar包目录
UPDATE_HOME=/home/xxx/update
#项目名
APP_NAME= ***
backup_jar() {
mkdir -p $BACKUP_HOME/$TODAY_DATE
cd $BASE_HOME && cp $APP_NAME.jar $BACKUP_HOME/$TODAY_DATE/$APP_NAME.jar.bak$NOW_TIME
if [ $? -eq 0 ];then
echo "$APP_NAME.jar 备份完成"
else
echo "备份失败"
fi
}
copy_jar() {
cp $UPGRADE_HOME/$APP_NAME.jar $BASE_HOME && echo "jar包复制成功"
}
stop_jar() {
app_pid=$(ps -ef |grep "$APP_NAME.jar"| grep -v grep |awk '{print $2}')
echo "停止进程:$app_pid"
kill -9 $app_pid
if [ $? -ne 0 ];then
echo "停止进程失败,应用未启动"
fi
}
start_jar() {
source /etc/profile
cd $BASE_HOME
echo "启动服务"
pwd
ls -l $BASE_HOME/$APP_NAME.jar
nohup java -Xms1024m -Xmx2048m -jar $APP_NAME.jar --spring.profiles.active=prod >/dev/null 2>&1 &
echo "启动成功"
}
main() {
backup_jar
stop_jar
sleep 5
copy_jar
start_jar
}
main
3、保存
4、给sh赋予可执行权限 chmod +x xxx.sh