1.新建步骤一“backupJar.shell”
备份目前运行的Jar删除备份的Jar包
#!/bin/bash
var=$(date +%Y%m%d%H%M)
path=/usr/local/aaa
filename=/usr/local/aaa/xxx-0.0.1-SNAPSHOT.jar
#删除以.bak2结尾的备份jar包
find $path -name '*.*.bak*' | xargs rm -rvf
echo "delete bak.jar success!"
#重命名备份jar包
mv $filename $filename.bak$var
echo "mv name success!"
2.新建步骤二“startJar.shell”
复制新的jar包到本目录,杀死目前运行的jar包进程,运行新的jar包
#!/bin/bash
IFS_old=$IFS
IFS=$'\n'
JAR_NAME=/usr/local/aaa/xxx-0.0.1-SNAPSHOT.jar
LOG_FILE=nohup.out
JAVA_OPTS="-server -Xms200m -Xmx200m"
#shut jar use kill
for line in $(ps -ef|grep "$JAR_NAME")
do
if [[ $line == *-jar* ]];then
ins_pid=$(echo $line|awk '{print $2}')
kill -9 $ins_pid
echo "========$JAR_NAME shutdown it's pid is $ins_pid"========
fi
done
#start jar
eval "nohup java -jar $JAR_NAME >> "$LOG_FILE" 2>&1 &"
echo "========$JAR_NAME startup success and logfile in $(pwd)/$LOG_FILE"========
IFS=$IFS_old
3.如果不想生成nohup,需加“> /dev/null”
#!/bin/bash
IFS_old=$IFS
IFS=$'\n'
JAR_NAME=/usr/local/aaa/xxx-0.0.1-SNAPSHOT.jar
JAVA_OPTS="-server -Xms200m -Xmx200m"
#shut jar use kill
for line in $(ps -ef|grep "$JAR_NAME")
do
if [[ $line == *-jar* ]];then
ins_pid=$(echo $line|awk '{print $2}')
kill -9 $ins_pid
echo "========$JAR_NAME shutdown it's pid is $ins_pid"========
fi
done
#start jar
eval "nohup java -jar $JAR_NAME >/dev/null 2>&1 &"
echo "========$JAR_NAME startup success and logfile in $(pwd)/$LOG_FILE"========
IFS=$IFS_old
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192817.html