java的jar包启动脚本linux启动脚本
前言: 为了在linux快速启动和快速关闭成效,把启动和关闭脚本写成脚本文件用于快速启动
启动的时候需要保证 日志输出文件、jar包、启动脚本 都在同一个目录下
我们以 nohup.out 为程序的日志输出文件, 所以需要提前建立一下这个脚本文件,创建文件的几种方式
1、touch nohup.out
2、vi nohup.out
3、> nohup.out 或者 >> nohup.out
4、echo "" > nohup.out 或者 echo "" >> nohup.out
1. 启动脚本
如果想指定依赖目录直接修改启动命令即可,重启脚本有示例
添加参数: -Dloader.path="../biz-lib/"
将以下内容放到 start.sh 文件中,使用时即可快速启动程序,sh start.sh 即可启动
#!/bin/bash jar_name=`ls *.jar` pwd=`pwd` nohup java -jar $pwd/$jar_name >> $pwd/nohup.out 2>&1 & tail -f ./nohup.out
2. 重启脚本
restart.sh
#!/bin/bash if [ $# -eq 1 ]; then cd $1 fi export LANG=zh_CN.UTF-8 source /etc/profile jar_name=`ls *.jar` pwd=`pwd` ps aux | grep java | grep $pwd/$jar_name | grep -v "grep" | awk {print "kill -9 " $2} | sh nohup java -jar $pwd/$jar_name >> $pwd/nohup.out 2>&1 & tail -f ./nohup.out
如果想指定依赖目录直接修改启动命令即可
添加参数: -Dloader.path="../biz-lib/"
#!/bin/bash jar_name=`ls *.jar` pwd=`pwd` ps aux | grep java | grep $pwd/$jar_name | grep -v "grep" | awk {print "kill -9 " $2} | sh nohup java -Dloader.path="../biz-lib/" -jar $pwd/$jar_name >> $pwd/nohup.out 2>&1 & tail -f ./nohup.out
3. 杀掉进程脚本
stop.sh
if [ $# -eq 1 ]; then cd $1 fi jar_name=`ls *.jar` pwd=`pwd` ps aux | grep java | grep $pwd/$jar_name | grep -v "grep" | awk {print "kill -9 " $2} | sh
4. 备份当前文件的脚本
backup.sh
#!/bin/bash jar_name=`ls *.jar` timestamp=$(date "+%Y-%m-%d %H:%M:%S") time=$(date "+%Y%m%d") jar_name_bak=$jar_name_bak_$time #判断当前目录是否存在备份文件 if [ ! -f "$jar_name_bak" ]; then cp $jar_name $jar_name_bak echo ${timestamp} "--- [INFO]: >>> 文件备份成功! 备份后的文件名称:" ${jar_name_bak} else echo ${timestamp} "--- [INFO]: >>> 文件备份失败! 当前路径已存在备份文件或者没有执行权限! fileName:" ${jar_name_bak} fi echo ${timestamp} "--- [INFO]: >>>" ${time} echo ${timestamp} "--- [INFO]: >>>" ${jar_name_bak}