测试线部署项目的时候,需要规范一下一些脚本,当测试线出现问题的时候,方便进行排查,本文总结了常见的脚本:启动、停止、重启。
项目结构
服务器上的项目结构通常为如下结构:
项目结构规范化了,再去放一些脚本,才好处理。
脚本
start.sh
其实可以自己根据需要去修改对应的内容,比如:
- 服务地址
- jar名称
- 配置文件信息
- 日志文件输出位置与名称
#!/bin/sh # 启动服务 cd /home/dev02/ECHOPlORE # 启动 Java 应用程序,并将输出重定向到 /dev/null nohup java -jar echoexplorer-1.0-exec.jar config/application-dev.yml> logs/info.txt 2>&1 & # 输出成功消息 echo 'success'
这个脚本指定了配置文件 application-dev.yml
文件 ,我们也可以不指定:
#!/bin/sh # 启动服务 cd /home/dev02/ECHOPlORE # 启动 Java 应用程序,并将输出重定向到 /dev/null nohup java -jar echoexplorer-1.0-exec.jar> logs/info.txt 2>&1 & # 输出成功消息 echo 'success'
stop.sh
停止运行的脚本需要你填写好对应的服务端口号!
#!/bin/sh netstat -nlp | grep :8089 | awk '{print $7}' | awk -F"/" '{ print $1 }' #杀死从服务8761端口对应的进程 kill -9 $(netstat -tlnp | grep :8089 | awk '{print $7}' | awk -F '/' '{print $1}') echo 'success'
restart.sh
重启脚本需要填写:
- jar包的包名
- jar包所在目录
- 日志文件名称
#!/bin/sh # 关闭服务 jar_name="tdcalc-main-1.0.jar" tpid=$(ps -ef | grep "$jar_name" | grep -v grep | grep -v kill | awk '{print $2}') if [[ -n ${tpid} ]]; then echo "${jar_name} ${tpid} kill" kill -9 ${tpid} fi echo 'stop server success' # 启动服务 cd /home/dev02/tdcalc nohup java -jar tdcalc-main-1.0.jar > log/tdcalc.log 2>&1 & echo 'restart success!'