linux启动Java的脚本,可以快捷启动,创建一个 .sh 文件 将脚本粘贴进去即可,运行的时候执行在 Linux下执行 . 文件名.sh
#!/usr/bin/env bash
#这个是你存放jar包的路径(运行Java -jar 之后存放日志、jar的路径)
MY_DEPLOY_DIR="/usr/local/路径"
#这个是你的jar包名称
MY_JARNAME="项目.jar"
#你的项目配置端口号
MY_PORT=8889
MY_CUR=`pwd`
#这个是你存放日志的文档
MY_LOG='nohup.out'
MY_PIDS=''
#这个地方是是查看项目端口有没有存在
function myFindPIDS {
case $1 in
'MY_PIDS')
MY_PIDS=`netstat -anptu | grep ${MY_PORT} | awk -F' ' '{print $7}' | awk -F'/' '{print $1}' | awk -F'-' '{print $1}'`
;;
esac
}
if [ ! -e ${MY_DEPLOY_DIR} ]
then
mkdir ${MY_DEPLOY_DIR}
fi
myFindPIDS "MY_PIDS"
#当检测到端口是存在的就先杀死端口 再执行命令行启动项目
while [ ! -z "${MY_PIDS}" ]
do
kill -9 ${MY_PIDS}
sleep 3
myFindPIDS "MY_PIDS"
done
sleep 2
function _start {
#当文件上传到指定root 下时没有找到会执行这一步
if [ ! -e "/root/${MY_JARNAME}" ]
then
echo "Missing jar files ! "
exit 1
fi
#先在你配置的目录下删除原有的jar避免出现冲突
rm -f ${MY_DEPLOY_DIR}/${MY_JARNAME}
#在你指定的目录下创建日志文件
>${MY_DEPLOY_DIR}/nohup.out
#复制你的jar到你配置的路径下 然后删除root下的jar
cp -f /root/${MY_JARNAME} ${MY_DEPLOY_DIR}/
rm -f /root/${MY_JARNAME}
#在你配置的路径下执行java -jar命令
cd ${MY_DEPLOY_DIR}
nohup java -Dserver.port=${MY_PORT} -Dserver.tomcat.basedir=./ -jar ${MY_JARNAME} &
#-jar后面配置的是远程debug的监听端口(如果需要监听端口可以加上下面这段代码)
# -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5001
#例如: -jar 上面这段话 ${MY_JARNAME} &
#睡三毫秒
sleep 3
#返回到root目录下 查看Java的所有端口 并打开刚刚路径下的日志文件
cd ${MY_CUR}
ps aux | grep java
tail -f ${MY_DEPLOY_DIR}/${MY_LOG}
}
case $1 in
"restart")
mv ${MY_DEPLOY_DIR}/$MY_JARNAME /root
_start
;;
"stop")
;;
*)
_start
esac